|
|
|
| Помогите пожалуйста!
имеется запрос
SELECT Veteran_Un.Surname AS Фамилия, Veteran_Un.Name_s AS Имя, Veteran_Un.Patronumic_Name AS Отчество, Veteran_Un.Date_Birthday AS [День рождения]
FROM Veteran_Un
WHERE ((Veteran_Un.Surname) Like '*' & [Введите фамилию] & '*');
Необходимо запускать этот запрос из VBA
по типу
Dim qd As DAO.QueryDef
Set qd = CurrentDb.CreateQueryDef("")
qd.SQL = "SELECT DISTINCT Veteran.Area FROM Veteran;"
qd.OpenRecordset
Set qd = Nothing
Благодарю всех за помощь | |
|
| |
|
|
|
| Set qd = CurrentDb.CreateQueryDef("")
qd.SQL = "SELECT ... [Введите фамилию] & '*');"
qd.Parameters("Введите фамилию") = "Фамилия"
Set rs = qd.OpenRecordset | |
|
| |
|
|
|
| Спасибо за помощь !
Немного модифицировал запрос
...
str_Vol_01 = InputBox("Введите фамилию")
...
qd.SQL = "SELECT ... [Введите фамилию] & '*');"
qd.Parameters("[Введите фамилию]").Value = str_Vol_01
Снова тупик; помогите тормозу !
теперь результаты этого запроса необходимо выыести в формате Excel
Заранее благодарен | |
|
| |
|
|
|
| qd.SQL = "SELECT ... [Введите фамилию] & '*');"
возможно нужно & Chr(34) & "*" & [Введите фамилию] & Chr(34) & "*"
он орет на отсутствие кавычек перед и после строкового аргуметна, Chr(34) можно заменить на одинарную кавычку, но она плохо видится на форуме | |
|
| |
|
|
|
| Полученный Recordset можно вставить на лист методом Excel-я CopyFromRecordset. Примеров можете найти немеряно.
Если вы имеете фамилию в переменной, то можно собрать SQL выражение запроса на создание таблицы прямо в процедуре и выполнить экспорт в Excel.
str_Vol_01 = InputBox("Введите фамилию")
strSQL = "SELECT Veteran_Un.Surname AS Фамилия, Veteran_Un.Name_s AS Имя, Veteran_Un.Patronumic_Name AS Отчество, Veteran_Un.Date_Birthday AS [День рождения]
INTO Экспорт IN 'C:\Файл.xls' [Excel 8.0;] FROM Veteran_Un WHERE ((Veteran_Un.Surname) Like '*" & str_Vol_01 & "*');"
CurrentDB.Execute strSQL
|
Но это пример для Акса97-2003. В А2007 другое расширение у файла и другая строка подключения (вместо [Excel 8.0;]). | |
|
| |
|
|
|
| Решение вопроса:
1 Создаем объект Excel
2 Активизируем Excel
3 Выполняем запрос
4 передача полученных данных в Excel
. . .
objQuerySheet.Cells(1, 1).CopyFromRecordset rs
. . .
5 зачистка памяти для освобождения ресурсов системы | |
|
| |