Динамически создавать запрос с помощью кода в MSAccess 2003 [VBA] - PullRequest
16 голосов
/ 24 декабря 2008

Привет мне нужно создать запрос в MSAccess 2003 через код (a.k.a. VB) - как я могу это сделать?

Ответы [ 3 ]

33 голосов
/ 24 декабря 2008

Неясный ответ на неопределенный вопрос:)

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

Set qdf=CurrentDB.CreateQueryDef("NewQuery",strSQL)
DoCmd.OpenQuery qdf.Name
6 голосов
/ 23 января 2014

Спасибо за этот ответ и небольшой кусочек кода. Если кому-то нужно определить типы данных для используемых переменных, используйте это:

    Dim strsql As Variant
    Dim qdf As QueryDef
5 голосов
/ 11 июля 2017
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
...