Контрольная работа: SELECT
S = “SELECT Количество FROM Склад _ гр INNER JOIN “ + _ “ Ассортимент ON ( Склад _ гр .ID _товара = Ассортимент. ID_ товара ) ”+ _
“ORDER ASCEND BY Наименование ;”
Application.CurrentDb.CreateQueryDef("Query1", s)
End Sub
Такая процедура создаст в базе данных новый запрос с именем Query1 и текстом, хранящимся в переменной S. А следующая – удалит его:
Public Sub QRY_Example2()
Application.CurrentDb.QueryDefs.Delete("Query1")
End Sub
Теперь покажем, как работать с полученными из запроса данными напрямую (эта процедура выведет сообщения, в которых перечислит количество и наименование всех товаров):
Public Sub QRY_Example3()
Dim s As String
Dim rst As New Recordset
S = “SELECT Количество FROM Склад _ гр INNER JOIN “ + _ “ Ассортимент ON ( Склад _ гр .ID _товара = Ассортимент. ID_ товара ) ”+ _
“ORDER ASCEND BY Наименование ;”
set rst = Application.CurrentDb.OpenRecordset(s, dbOpenDynaset, dbReadOnly)
rst.MoveFirst
for I = 1 to rst.RecordCount do
MsqBox “На складе хранится “ + str ( rst . Fields (“Количество”)) +” “ + rst . Fields (“наименование”)
Rst . MoveNext
Next
End Sub
По поводу свойств и методов объектов доступа к данным подробные сведения можно получить во встроенной справке VBA.
С объектом DoCmd все намного проще:
Public Sub QRY_Example4()
Dim s As String
Dim s2 As String
Dim rst As New Recordset
S = InputBox “Введите наименование товара”, “Наша_БД”
S 2 = InputBox “Введите количество этого товара”, “Наша_БД”