web-dev-qa-db-ja.com

MS Access 2003 [VBA]のコードを使用して動的にクエリを作成する

こんにちは私はコード(別名VBA)を介してMS Access 2003でクエリを作成する必要があります-これをどのように達成できますか?

17

漠然とした質問に対する漠然とした答え:)

strSQL="SELECT * FROM tblT WHERE ID =" & Forms!Form1!txtID 

Set qdf=CurrentDB.CreateQueryDef("NewQuery",strSQL)
DoCmd.OpenQuery qdf.Name
35
Fionnuala

この回答と小さなコードに感謝します。使用する変数のデータ型を誰かが定義する必要がある場合は、次を使用します。

    Dim strsql As Variant
    Dim qdf As QueryDef
6
Oliver R.
Dim strSql As String 'as already in example
Dim qdf As QueryDef 'as already in example

strSql = "SELECT * FROM tblT WHERE ID =" & Forms!Form1!txtID 'as already in example

On Error Resume Next
'Delete the query if it already exists
DoCmd.DeleteObject acQuery, "NewQuery"

Set qdf = CurrentDb.CreateQueryDef("NewQuery", strSql) 'as already in example
DoCmd.OpenQuery qdf.Name 'as already in example

'release memory
qdf.Close 'i changed qdef to qdf here and below
Set qdf = Nothing
5
Romana Ahmad