- ベストアンサー
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になってない事の間違いだと察するのですが、正しい記述方法を教えていただけませんか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
遅くまで大変ですね。 手元にVBA環境がないので、未確認で申し訳ないですが・・・ これで試してみてください。 mySQL = "SELECT * FROM T_貸付明細 " _ & "WHERE 顧客ID = " & Cstr(Me!txtID) & ";"
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17070)
Dim mySQL As Long '抽出条件 と有りますが、SQL文は あくまでStringで定義するのではないでしょうか。 部分的ですみません。Dim mySQL As String '抽出条件 では。そのため””で括(くく)っているのでは。
お礼
ご回答ありがとうございます。 その通りです。 うまく出来ましたのでまずはお礼まで。 今後ともよろしく。
お礼
ご回答ありがとうございます。 ずいぶん遅くまで頑張ってますね。 私は質問をしておきながら寝ちゃいました。 imogasiさんのご回答と合わせ技でうまく出来ました。 まだ充分にVBAが理解が出来てないのですが、とにかく慣れろ!で頑張ります。