Excel VBA質問箱 IV

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

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


6711 / 13644 ツリー ←次へ | 前へ→

【43571】クエリの条件指定 kan 06/10/19(木) 12:39 質問[未読]
【43575】Re:クエリの条件指定 maverick 06/10/19(木) 13:57 回答[未読]
【43590】Re:クエリの条件指定 kan 06/10/19(木) 15:27 質問[未読]
【43592】Re:クエリの条件指定 maverick 06/10/19(木) 15:43 回答[未読]
【43595】Re:クエリの条件指定 kan 06/10/19(木) 16:49 お礼[未読]
【43597】Re:クエリの条件指定 maverick 06/10/19(木) 17:20 発言[未読]

【43571】クエリの条件指定
質問  kan  - 06/10/19(木) 12:39 -

引用なし
パスワード
   いつも拝見させて頂いてます。
下記のマクロでクエリを開きアクセスデータベースの一括取り込みは出来るのですが、
その際に、Inputbox的なもので、抽出条件を指定したいのですが、ご教授
頂けますでしょうか。よろしくお願い致します。

Option Explicit
Sub database_import()

  Dim dbobj As Database
  Dim dbrecord As Recordset
  Dim filename As String
  Dim m As Field
  
  
  filename = "C:\test.mdb"
  
  Set dbobj = OpenDatabase(filename)
  Set dbrecord = dbobj.OpenRecordset("search", dbOpenDynaset)
  
  Worksheets(1).Select
  Range("A2").CopyFromRecordset dbrecord
  
  dbrecord.Close
  dbobj.Close
  
End Sub

【43575】Re:クエリの条件指定
回答  maverick  - 06/10/19(木) 13:57 -

引用なし
パスワード
   '※table1 ・・・テーブル名
Option Explicit
Sub database_import()

  Dim dbobj As Database
  Dim dbrecord As Recordset
  Dim filename As String
  Dim m As Field
  Dim kword As String
  Dim tsql As String
  
  filename = "C:\test.mdb"
  
  Set dbobj = OpenDatabase(filename)
  kword = InputBox("抽出条件を入力して下さい")
  tsql = "select * from search where table1 = '" & kword & "';"
  Set dbrecord = dbobj.OpenRecordset(tsql, dbOpenDynaset)

  Worksheets(1).Select
  Range("A2").CopyFromRecordset dbrecord

  dbrecord.Close
  dbobj.Close

End Sub

【43590】Re:クエリの条件指定
質問  kan  - 06/10/19(木) 15:27 -

引用なし
パスワード
   ご返信ありがとうございます。
たびたびで申し訳ございませんが・・・

ご回答頂いたものは、テーブル内での検索になっていますが、
クエリ内のフィールドを条件指定したい場合は、どのように
すればよいのでしょうか?

質問が、上手く出来ず申し訳ございません。

【43592】Re:クエリの条件指定
回答  maverick  - 06/10/19(木) 15:43 -

引用なし
パスワード
   表現ミスです(^^;)
 '※field1 ・・・フィールド名
Option Explicit
Sub database_import()

  Dim dbobj As Database
  Dim dbrecord As Recordset
  Dim filename As String
  Dim m As Field
  Dim kword As String
  Dim tsql As String
  
  filename = "C:\test.mdb"
  
  Set dbobj = OpenDatabase(filename)
  kword = InputBox("抽出条件を入力して下さい")
  tsql = "select * from search where field1 = '" & kword & "';"
  Set dbrecord = dbobj.OpenRecordset(tsql, dbOpenDynaset)

  Worksheets(1).Select
  Range("A2").CopyFromRecordset dbrecord

  dbrecord.Close
  dbobj.Close

End Sub

【43595】Re:クエリの条件指定
お礼  kan  - 06/10/19(木) 16:49 -

引用なし
パスワード
   maverick様
ご丁寧にありがとうございました。
TableもFieldも同じ扱いなんですね!

私の方も、上手く動作しない原因が分かりました。
クエリの抽出対象Fieldを非表示設定にしていると、上手く抽出
出来ないみたいですね。設定を表示にして対処致しました。

本当に助かりました。ありがとうございました。

【43597】Re:クエリの条件指定
発言  maverick  - 06/10/19(木) 17:20 -

引用なし
パスワード
   最初の書き込みが悪かったからね〜?!
table1というフィールド名でした。
>TableもFieldも同じ扱いなんですね!
違います!テーブルとクエリが同じ扱いです。

  tsql = "select * from テーブル名またはクエリ名 where フィールド名 = '" & kword & "';"

SQLもクエリですけど・・・

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