Access VBA質問箱 IV

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

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


1929 / 2272 ツリー ←次へ | 前へ→

【4604】DAOでテーブルから取得した情報を全て表示したい。 バンドルデューケン 05/3/15(火) 18:41 質問[未読]
【4606】Re:ループ ちゅう吉 05/3/15(火) 23:15 発言[未読]
【4612】Re:DAOでテーブルから取得した情報を全... 小僧 05/3/16(水) 9:11 回答[未読]

【4604】DAOでテーブルから取得した情報を全て...
質問  バンドルデューケン  - 05/3/15(火) 18:41 -

引用なし
パスワード
   お世話になっております。バンドルデューケンです。
DAOでテーブルから取得した情報を表示する物を作成しました。
実際には「AD-1012K」までしか表示されません。 
「DC-0007P」まで表示したいのですが解りませんどうか教えて下さい
コードマスタ:テーブルの内容
標準価格 価格コード
100000  AD-1012K 
30000   AX-101
40000   AH-506I
70000   DC-0007P

PG
  MsgBox "DBへの接続を開始します。"
  
  '*********************************************************************
  'Excel側でDAOへの参照設定が必要です。
  'VBE画面の「ツール」−「参照設定」で、
  'Microsoft DAO 3.6 Object Library にチェックをつけてください。
  '無ければ、DAO 3.5 でも、大丈夫です。
  '*********************************************************************

  Dim mdb As DAO.Database
  Dim rst As DAO.Recordset
  Dim intCnt As Integer
  Dim str As String
  Dim data As String

'  str = "C:\db1.mdb"
  str = "D:\Documents and Settings\t-umemoto\デスクトップ\テーブル表示\DB\テーブル表示.mdb"
  
  Set mdb = OpenDatabase(str)
  Set rst = mdb.OpenRecordset("コードマスタ")


  For intCnt = 1 To rst.Fields.Count
    
      MsgBox rst.Fields(intCnt - 1).Value
  Next
  
  MsgBox data & "終了!"
  
  rst.Close
  mdb.Close
  Set rst = Nothing
  Set mdb = Nothing
  
  Exit Sub
End Sub  

【4606】Re:ループ
発言  ちゅう吉  - 05/3/15(火) 23:15 -

引用なし
パスワード
   掲載されたコードだと
テーブルの先頭の1レコード分のデータしか表示せず終了しています。

-----------------------------------
標準価格 価格コード
100000  AD-1012K  ←ここで終了
30000   AX-101
40000   AH-506I
70000   DC-0007P
-----------------------------------

ループさせ、次のレコードを読むようにさせなければなりません。

【4612】Re:DAOでテーブルから取得した情報を全...
回答  小僧  - 05/3/16(水) 9:11 -

引用なし
パスワード
   おはようございます。

>  MsgBox "DBへの接続を開始します。"
>  
>  '*********************************************************************
>  'Excel側でDAOへの参照設定が必要です。
>  'VBE画面の「ツール」−「参照設定」で、
>  'Microsoft DAO 3.6 Object Library にチェックをつけてください。
>  '無ければ、DAO 3.5 でも、大丈夫です。
>  '*********************************************************************
>
>  Dim mdb As DAO.Database
>  Dim rst As DAO.Recordset
>  Dim intCnt As Integer
>  Dim str As String
>  Dim data As String
>
>'  str = "C:\db1.mdb"
>  str = "D:\Documents and Settings\t-umemoto\デスクトップ\テーブル表示\DB\テーブル表示.mdb"
>  
>  Set mdb = OpenDatabase(str)
>  Set rst = mdb.OpenRecordset("コードマスタ")
>
  Do Until rst.EOF
>  For intCnt = 1 To rst.Fields.Count
>    
>      MsgBox rst.Fields(intCnt - 1).Value
>  Next
  rst.MoveNext
  Loop
>  MsgBox data & "終了!"
>  
>  rst.Close
>  mdb.Close
>  Set rst = Nothing
>  Set mdb = Nothing
>  
>  Exit Sub
>End Sub  

こんな感じでしょうか?

1929 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078268
(SS)C-BOARD v3.8 is Free