Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


272 / 500 ページ ←次へ | 前へ→

【7795】レコード件数の取得について
質問  MIKA E-MAIL  - 06/5/4(木) 13:24 -

引用なし
パスワード
   いつも参考にさせていただいています。
掲題の件で教えて頂きたいのですが、あるクエリの抽出結果のレコード件数を
クエリを実行する前に取得するにはどうすれば良いでしょうか?クエリを実行させて画面表示をしないと言った方が正しいかもしれません。
実行後件数を取得する方法は何とか判るのですが、前に取得する方法が判りません。抽出したレコードをEXCELにエクスポートするところまで自動化したのですが、36656件以上の件数の場合条件を変更して件数を絞るようにしたいと思っています。
下はフォームのドルグボタンでクエリを実行して件数を取得するVBAです。
どの部分に変更が必要でしょうか?
宜しくお願いします。
Private Sub コマンド0_Click()
  Dim rs     As Recordset
  Dim rsCount   As Double
  
  DoCmd.OpenQuery "入出金"

   Set rs = CurrentDb.OpenRecordset("入出金")
  rs.MoveLast
  rsCount = rs.RecordCount
  
  MsgBox "入出金の実行結果" & vbCrLf & _
      rsCount & "件のレコードが抽出されました"

End Sub
・ツリー全体表示

【7794】Re:特定のファイルを指定して…
発言  たぬき  - 06/5/3(水) 17:04 -

引用なし
パスワード
   ▼TB1 さん:
え?
DoCmd.TransferText acImportDelim, , "ddd", "C:\hoge.csv"
って指定するとdddテーブルにどんどんたまっていきませんか?

>▼たぬき さん:
>いまさらの質問で申し訳ないのですが、
>CSVは無事アクセステーブルへ取り込むことができるようになりました。
>そうすると日にちごとにテーブルが作成されますよね。
>これを1つのテーブルに累積していくことは可能でしょうか。
>出来上がったテーブルをクエリでひとつにまとめる、というのではなく、ファイルを取り込む際に、ひとつの特定テーブルに追加していきたいのです。
>
>ヒントがあれば、教えてください。
>宜しくお願いします。
・ツリー全体表示

【7793】Re:ゲーム制作
発言  たぬき  - 06/5/3(水) 11:03 -

引用なし
パスワード
   ▼tarooto さん:
>ゲームは、どうやって作るんですか?
>作るサイトのURLを教えてください。

あんまりACCESSではゲームは作らないと思います。
例えばデバイスコンテキストが取れないので・・・
C++が一般的だと思います。

でもあのインベーダーすごいですね。(@@;)
・ツリー全体表示

【7792】Re:CSVファイルをAccessに入力する方法に...
回答  Gin_II  - 06/5/2(火) 19:31 -

引用なし
パスワード
   >新しいデータベースファイルを作って外部データをイムポートしたんですが、
>何も出て来なかったんです。

インポートして、テーブルはできたけど、データが入っていなかったということ
でしょうか?
それとも、テーブルそのものができていない?

または、インポートウィザードが動かなかったとかですか?
・ツリー全体表示

【7791】CSVファイルをAccessに入力する方法につい...
質問  Cyber  - 06/5/2(火) 13:55 -

引用なし
パスワード
   こんにちは

サイバーです。

CSVファイルをAccessに入力する方法についてですが、

どうやら、CSVファイルのデータをAccessのデータ化をやるんですか。

新しいデータベースファイルを作って外部データをイムポートしたんですが、
何も出て来なかったんです。

お忙しいところ、すみませんが、
ちょっとでも教えてください。
・ツリー全体表示

【7790】Re:特定のファイルを指定して…
質問  TB1  - 06/5/1(月) 17:06 -

引用なし
パスワード
   ▼たぬき さん:
いまさらの質問で申し訳ないのですが、
CSVは無事アクセステーブルへ取り込むことができるようになりました。
そうすると日にちごとにテーブルが作成されますよね。
これを1つのテーブルに累積していくことは可能でしょうか。
出来上がったテーブルをクエリでひとつにまとめる、というのではなく、ファイルを取り込む際に、ひとつの特定テーブルに追加していきたいのです。

ヒントがあれば、教えてください。
宜しくお願いします。
・ツリー全体表示

【7789】Re:ゲーム制作
発言  クロ  - 06/5/1(月) 16:47 -

引用なし
パスワード
   http://www.happy2-island.com/paradise/
こちらが参考になるかと…
・ツリー全体表示

【7788】ゲーム制作
質問  tarooto WEB  - 06/5/1(月) 16:17 -

引用なし
パスワード
   ゲームは、どうやって作るんですか?
作るサイトのURLを教えてください。
・ツリー全体表示

【7786】Re:フォームについて
発言  クロ  - 06/4/28(金) 18:02 -

引用なし
パスワード
   >フォームが連結、非連結というのはどこで確認できるのですか?
>ちなみにコントロールは全て非連結となっています。

では、非連結ですね。
このままでは入力されてもデータは何処にも格納できないと思いますが
それでよろしいのですか?
※コードでレコードをテーブルに飛ばしているのなら別ですか…

http://www.mahoutsukaino.com/
こちらで基本的なことを勉強されては如何でしょうか?
・ツリー全体表示

【7785】Re:フォームについて
質問  inui  - 06/4/28(金) 17:56 -

引用なし
パスワード
   ご回答ありがとうございます。

>連結フォームなのでしょうか?非連結フォームなのでしょうか?

フォームが連結、非連結というのはどこで確認できるのですか?
ちなみにコントロールは全て非連結となっています。

>いずれにしてもフォームを増やすのでなく、コントロールをすべて
>貼り付けて日付によって表示/非表示を切り替えたりしてはどうですか?

確かにフォームを増やすのではなくそのやり方がベストだと思います。
ただ、日付によって表示/非表示にする方法がわからないので教えて
いただけないでしょうか?

▼クロ さん:
>連結フォームなのでしょうか?非連結フォームなのでしょうか?
>いずれにしてもフォームを増やすのでなく、コントロールをすべて
>貼り付けて日付によって表示/非表示を切り替えたりしてはどうですか?
・ツリー全体表示

【7784】Re:フォームについて
発言  クロ  - 06/4/28(金) 17:17 -

引用なし
パスワード
   連結フォームなのでしょうか?非連結フォームなのでしょうか?
いずれにしてもフォームを増やすのでなく、コントロールをすべて
貼り付けて日付によって表示/非表示を切り替えたりしてはどうですか?
・ツリー全体表示

【7783】Re:フォームについて
発言  inui  - 06/4/28(金) 17:11 -

引用なし
パスワード
   こんにちは、クロさん

日付と対応して入力する情報が変わってくるからです

▼クロ さん:
>こんにちは
>どうして、そのようなことをしたいのでしょうか?
・ツリー全体表示

【7782】Re:フォームについて
発言  クロ  - 06/4/28(金) 17:02 -

引用なし
パスワード
   こんにちは
どうして、そのようなことをしたいのでしょうか?
・ツリー全体表示

【7781】Re:特定のファイルを指定して…
発言  たぬき  - 06/4/28(金) 16:38 -

引用なし
パスワード
   ▼TB1 さん:
下の方の話題でもでてきていましたが
ACCESSの隠し関数Wizhook関数もあります。
一度検索してみてください。
・ツリー全体表示

【7780】Re:特定のファイルを指定して…
お礼  TB1  - 06/4/28(金) 16:19 -

引用なし
パスワード
   ▼たぬき さん:
 ご無沙汰しています。
ようやくこちらの作業に取り掛かれるようになりました。

結論から言いますと、以前
_    ______________
|_|   |______________|
ボタン   インポートしたいファイルパス
_    ______________
|_|   |______________|
ボタン   エクスポートしたいファイルパス
              _____
             | 実行  |
             |_____|


みたいなイメージだといいましたが、実はこのとき、エクスポートするファイルを選択するまでも無く、このフォームがある同じアクセスファイルオブジェクトのテーブルに、CSVがインポートされていたようなんです。それまで、どこにエクスポートされているのか全然分からず、これは新たに取り出し先を指定する必要があるのか、と勝手に思い込んでいました。

 そこで、単純にボタンを押すとファイル検索が出来、欄にそのパスが出て、実行を押すとオブジェクト:テーブルに新しくテーブルが作られていて、これで出来た!と思ったんです。

以下そのコードです。

Option Compare Database
Option Explicit

Private Sub 入力ファイル選択_Click()
 Dim strFileName As String
 Dim strFilter As String
 Dim blnRet As Boolean
 
 strFilter = "エクセル(*.xls)" & vbNullChar & "*.xls" & vbNullChar & _
       "CSV(*.csv)" & vbNullChar & "*.csv"
 
 Me.入力ファイルパス = Null
 blnRet = GetFileName_Save(strFilter, strFileName)
 If blnRet = True Then
  Me.入力ファイルパス = strFileName
 End If
 
End Sub
Private Sub 実行_Click()
 Dim strFileName As String
 Dim strType As String
 
 If IsNull(Me.入力ファイルパス) = True Or Len(Me.入力ファイルパス) = 0 Then
  Exit Sub
 End If
 If IsNull(Me.入力ファイルパス) = True Or Len(Me.入力ファイルパス) = 0 Then
  Exit Sub
 End If
 
 strFileName = Me.入力ファイルパス
 Select Case Right(strFileName, 3)
 
  Case "csv"
   DoCmd.TransferText acImportDelim, , Me.入力ファイルパス, strFileName, True
   
  Case Else
   MsgBox "出力対象ファイル形式を選択してください。", vbOKOnly + vbCritical, ""
   
   
   Exit Sub
 End Select
 
 MsgBox "csvファイル" & Chr(13) & _
     strFileName & Chr(13) & _
     "を出力しました。", vbOKOnly + vbInformation, ""
End Sub

で、これを本来設置するアクセスファイルにそのままフォームをコピーして動かしたところ、

Private Sub 入力ファイル選択_Click()
が黄色くなって
GetFileName_Save
が青くなり
コンパイルエラー:subまたはFunctionが定義されていません
と出ました。

正常なファイルと比べてもふたつのコードは違うところは無く、その特定のアクセスファイルに追加したときだけエラーがでます。ためしに移植先のフォルダの中ににまったく別のファイルとしてコピーして走らせたところ、正常に動きました。

 問題は他のフォームやクエリーを持つその既存アクセスファイルなのかとも思いますが、どこをどう変えたらいいのかわかりません。
どうぞヒントをください。
---------------------------------
 と書いたのですが、またまたポカミスでGetfilename のプロシージャーをコピーし忘れていました。これは独自関数で、APIを用いることでダイアログボックスを表示させることが出来る、そうです。このへん勉強しないとわかりません。
Getが青くなったということは、そんな関数ないよ、ということだったのですね。
他に指摘する点があれがご指導ください。

そんなわけでお礼と結果報告でした。ありがとうございました。
・ツリー全体表示

【7779】フォームについて
質問  inui  - 06/4/28(金) 15:53 -

引用なし
パスワード
   お世話になります。inuiと申します。

accessのフォームについてご質問があります。
現在、テキストボックスやリストボックス等の
コントロールを貼り付けたフォームを作成した
のですが、このフォームを日付がかわるごとに
新しく生成されるようにしたいのですが、どの
ように設定すればよいでしょうか?
・ツリー全体表示

【7777】Re:同じ画面を表示データを変えて複数表示
お礼  迷える子羊  - 06/4/28(金) 9:50 -

引用なし
パスワード
   ▼hatena さん:
すみませぇん。。ご指摘の通り対象フォームをデザインビューで開いたままでした。
デザインビューを閉じた後、ちゃんと動作できるのを確認しました。
細かいご指摘までして頂き、ありがとうございました。
がんばります。
>>下記のようなエラーメッセージが表示されうまく動きませんでした。
>>「実行時エラー '7782':
>> デザインビューで、このフォームまたはレポートの新しいインスタンスを
>> 作成することはできません。」
>
>単純にメッセージ通り、そのフォームをデザインビューで
>開いたまま、コードを実行しているということはないです
>よね。
・ツリー全体表示

【7776】Re:同じ画面を表示データを変えて複数表示
回答  hatena  - 06/4/28(金) 9:40 -

引用なし
パスワード
   >下記のようなエラーメッセージが表示されうまく動きませんでした。
>「実行時エラー '7782':
> デザインビューで、このフォームまたはレポートの新しいインスタンスを
> 作成することはできません。」

単純にメッセージ通り、そのフォームをデザインビューで
開いたまま、コードを実行しているということはないです
よね。
・ツリー全体表示

【7775】Re:同じ画面を表示データを変えて複数表示
質問  迷える子羊  - 06/4/28(金) 9:28 -

引用なし
パスワード
   ▼hatena さん:
アドバイスありがとうございます。
早速下記のソースを参考にして実行してみたのですが
下記のようなエラーメッセージが表示されうまく動きませんでした。
「実行時エラー '7782':
 デザインビューで、このフォームまたはレポートの新しいインスタンスを
 作成することはできません。」

なぜか、デザインビューで起動されてしまっているようです。
良い解決策があると良いのですが・・・。

>Option Compare Database
>Option Explicit
>Dim Fm(1) As New Form
>
>
>Private Sub コマンド1_Click()
>
>  Set Fm(0) = New Form_フォーム1
>  Fm(0).Filter = "ID=1"
>  Fm(0).FilterOn = True
>  Fm(0).Visible = True
>
>  Set Fm(1) = New Form_フォーム1
>  Fm(1).Filter = "ID=2"
>  Fm(1).FilterOn = True
>  Fm(1).Visible = True
>
>
>End Sub
・ツリー全体表示

【7774】Re:同じ画面を表示データを変えて複数表示
回答  hatena  - 06/4/28(金) 1:46 -

引用なし
パスワード
   >JAVAのような、新たにフォームのインスタンスを作成して、
>その新たに作られたフォームに2個目のデータが表示出来るように
>したいのですが、可能でしょうか?

フォーム1 を二つ開き、一つ目は ID=1、2つ目には ID=2 のレコードを
表示する例

Option Compare Database
Option Explicit
Dim Fm(1) As New Form


Private Sub コマンド1_Click()

  Set Fm(0) = New Form_フォーム1
  Fm(0).Filter = "ID=1"
  Fm(0).FilterOn = True
  Fm(0).Visible = True

  Set Fm(1) = New Form_フォーム1
  Fm(1).Filter = "ID=2"
  Fm(1).FilterOn = True
  Fm(1).Visible = True


End Sub
・ツリー全体表示

272 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084646
(SS)C-BOARD v3.8 is Free