• ベストアンサー

Access 壁にぶつかってます。助けて

ACCESS VBAの記述でエラーになります。 教えてください。 Private Sub cmd抽出_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim mySQL As Long '抽出条件 Set db = CurrentDb() 'レコードセットを作成 mySQL = "SELECT * FROM T_貸付明細 " _ & "WHERE 顧客ID ='" & Me!txtID & "';" Set rs = db.OpenRecordset(mySQL, dbOpenDynaset) 'サブ フォームに表示 Set Me!sub結果.Form.Recordset = rs ' Me!sub結果.Form!日付.ControlSource = "日付" Me!sub結果.Form!貸付.ControlSource = "貸付" Me!sub結果.Form!受領.ControlSource = "受領" Me!sub結果.Form!利息.ControlSource = "利息" Me!sub結果.Form!元金入金.ControlSource = "元金入金" Me!sub結果.Form!貸付残高.ControlSource = "貸付残高" Me!sub結果.Form!次支払日.ControlSource = "次支払日" End Sub 上記の記述で「型が一致しません」とエラーが出ます。 'レコードセットを作成 mySQL = "SELECT * FROM T_貸付明細 " _ & "WHERE 顧客ID ='" & Me!txtID & "';" ここの記述がLongになってない事の間違いだと察するのですが、正しい記述方法を教えていただけませんか。

質問者が選んだベストアンサー

  • ベストアンサー
  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.1

遅くまで大変ですね。 手元にVBA環境がないので、未確認で申し訳ないですが・・・ これで試してみてください。 mySQL = "SELECT * FROM T_貸付明細 " _ & "WHERE 顧客ID = " & Cstr(Me!txtID) & ";"

siba10
質問者

お礼

ご回答ありがとうございます。 ずいぶん遅くまで頑張ってますね。 私は質問をしておきながら寝ちゃいました。 imogasiさんのご回答と合わせ技でうまく出来ました。 まだ充分にVBAが理解が出来てないのですが、とにかく慣れろ!で頑張ります。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

Dim mySQL As Long '抽出条件 と有りますが、SQL文は あくまでStringで定義するのではないでしょうか。 部分的ですみません。Dim mySQL As String '抽出条件 では。そのため””で括(くく)っているのでは。

siba10
質問者

お礼

ご回答ありがとうございます。 その通りです。 うまく出来ましたのでまずはお礼まで。 今後ともよろしく。

関連するQ&A