
Извличане на резултатите от заявката в Access с помощта на VBA.
Знанието как да четете резултатите от заявка на Microsoft Access може да ви помогне да направите приложението си Access по-динамично. Access е част от пакета на Microsoft Office и се използва за създаване на релационни бази данни. Visual Basic за приложения (VBA) може да се използва в Access за създаване на Windows приложения и извличане на данни от база данни. Заявката се изгражда с помощта на изрази на езика на структурираните заявки (SQL), за да се иска информация от база данни.
Етап 1
Стартирайте Microsoft Office Access 2007 и изберете „Празна база данни“, след което щракнете върху „Създаване“. Щракнете върху „Инструменти за база данни“ и изберете „Visual Basic“. Щракнете върху полето "Вмъкване" и изберете "Модул".
Видео на деня
Въведете "Private sub readQueryResults" и натиснете "Enter", за да създадете нова подпрограма.
Стъпка 2
Въведете следното, за да декларирате променливи, които ще използвате за четене на резултатите от заявката:
Dim RecordSt като набор от записи Dim dBase като база данни Dim stringSQL като низ Dim rCnt като цяло число
Стъпка 3
Въведете следното, за да създадете таблицата "CityTbl":
stringSQL = "СЪЗДАВАНЕ НА ТАБЛИЦА CityTbl (ТЕКСТ на града(25), ТЕКСТ на държавата(25));" DoCmd. RunSQL (stringSQL)
Стъпка 4
Въведете следното, за да добавите два нови записа към вашата таблица "CityTbl":
stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Fort Worth', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)
stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Dallas', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)
Стъпка 5
Въведете следното, за да дефинирате вашата заявка и отворете своя Recordset:
stringSQL = "ИЗБЕРЕТЕ CityTbl.* ОТ CityTbl;" Задайте RecordSt = dBase. OpenRecordset (stringSQL)
Стъпка 6
Въведете следното, за да създадете "For Loop" и да покажете резултатите от заявката си чрез поле за съобщение:
RecordSt. MoveFirst за rCnt = 0 За запис St. RecordCount MsgBox (RecordSt. Fields("City").Value & ", " & RecordSt. Fields("State").Value) RecordSt. MoveNext Next rCnt
Натиснете "F5", за да изпълните подпрограмата.