Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA и Access: как создать и выполнить запрос из VBA? / 5 сообщений из 5, страница 1 из 1
08.12.2009, 08:27
    #36353215
Michael Melvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA и Access: как создать и выполнить запрос из VBA?
Какой объект хранит результат запроса? Есть объект DoCmd, с ним пока разбираюсь, но, по-моему, неверное направление мышления.

Имеется:
1. штуки три таблицы, связи между ними и т.д., в таблицах есть данные.
2. объявлена переменная Dim Zapros as String и присвоено ей значение Zapros = "Select * From ..."
Требуется:
Выполнить запрос Zapros и "что-нибудь" с ним делать, т.е. должна иметься возможность обращаться к результату запроса, например, как к какой-то таблице или ещё как. Например, требуется вывести значение из первого поля первой записи в диалоговое окно MsgBox. Когда кодил в C# - то обращался именно как к таблице, у которой можно обратиться к любой строке/столбцу по номеру. Т.е. самая обычная таблица.
...
Рейтинг: 0 / 0
08.12.2009, 09:37
    #36353276
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA и Access: как создать и выполнить запрос из VBA?
Michael MelvinКакой объект хранит результат запроса? ответ RecordSet

поскольку вопрос был задан не в разделе MS Access , тогда так
т.е. обращение к файлу mdb находясь не в access-е

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    Dim Zapros As String:   Zapros = "SELECT * FROM Таблица"
    
    Dim MDB As DAO.Database  'Microsoft DAO 3.6 Object Library
    Dim RST As DAO.Recordset
    
    Set MDB = DBEngine.Workspaces( 0 ).OpenDatabase(FileMdb)
    Set RST = MDB.OpenRecordset(Zapros, dbOpenSnapshot)
    
    Do Until RST.EOF()
        ...
        RST.MoveNext
    Loop
    
    RST.Close:   Set RST = Nothing
    MDB.Close:   Set MDB = Nothing
...
Рейтинг: 0 / 0
08.12.2009, 13:58
    #36354141
Michael Melvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA и Access: как создать и выполнить запрос из VBA?
Код отличный, спасибо. Но есть два вопроса (проблемы):
1. Пытаюсь подключить DAO - не подключает, отображая сообщение: Имя конфликтует с существующим модулем, проектом или библиотекой. Ничего другого я не подключал, БД вообще пустая (создал пустой файл и тут же решил подключать DAO)
2. Как убрать привязку к конкретному файлу? Поскольку код находится внутри файла mdb (написан на VBA) - то хорошо бы обращаться к БД, в файле которой находится этот текст программы. Думаю, что-то связано с CurrentDB, но из-за пункта 1 я проверить это пока не могу.
...
Рейтинг: 0 / 0
08.12.2009, 16:01
    #36354616
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA и Access: как создать и выполнить запрос из VBA?
надо заменить только одну строчку
Код: plaintext
    Set MDB = CurrentDb()
а библиотеки DAO и ADO подключаются уже при создании файла mdb (должны подключаться)
...
Рейтинг: 0 / 0
10.12.2009, 17:12
    #36359610
Michael Melvin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA и Access: как создать и выполнить запрос из VBA?
Klen, выражаю благодарность за быстрый и точный ответ. Большое спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA и Access: как создать и выполнить запрос из VBA? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]