SQL запрос в коде VBA - PullRequest
       9

SQL запрос в коде VBA

0 голосов
/ 13 октября 2009

Если я хочу написать следующее в VBA, как мне это сделать

QUERY1:
SELECT field1, Min(field4) AS MinField4, Max(field5) AS MaxField5
FROM Table1
GROUP BY field1;


SELECT Query1.field1, Table1.field2, Table1.field3, Query1.MinField4,
       Query1.MaxField5
FROM   Query1 INNER JOIN Table1 ON (Query1.field1 = Table1.field1) AND
       (Query1.MinField4 = Table1.field4) AND
       (Query1.MaxField5 = Table1.field5);

Я знаю, что для выполнения SQL я сохраняю его как строку и пишу SQL запуска. но как мне написать код для сохранения query1 как постоянного объекта, на который можно ссылаться в других операторах SQL?

Ответы [ 3 ]

1 голос
/ 13 октября 2009

Вот код, который заполнит набор данных вашими результатами

Dim cnn As ADODB.Connection
Dim recordset As ADODB.Recordset
Dim strSQL As String

Set cnn = CurrentProject.Connection
strSQL = "SELECT blah ..."
recordset.Open strSQL, cnn, adOpenKeyset, adLockOptimistic, adCmdText
'do what you want now.

о, да, это было давно, но вы, вероятно, тоже хотите убраться

Set recordset = Nothing
'etc..
1 голос
/ 13 октября 2009

Я понимаю, что ваш вопрос «Как создать новый запрос в Microsoft Access с использованием кода?»

Существует два решения:

  1. Microsoft Access примет заявление DDL CREATE VIEW. Таким образом, вы можете сконструировать этот оператор в коде и затем выполнить его для базы данных через OLE DB, например. ADO в коде VBA.
  2. Объект базы данных в MS Access содержит свойство коллекций с именем QueryDefs, и вы можете обращаться к нему для манипулирования (и создания) запросов, хранящихся в базе данных.
0 голосов
/ 13 октября 2009

Вы можете просто создать запрос и вставить этот SQL в представление SQL (доступно из окна дизайна запроса).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...