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

Имеется:
1. штуки три таблицы, связи между ними и т.д., в таблицах есть данные.
2. объявлена переменная Dim Zapros as String и присвоено ей значение Zapros = "Select * From ..."
Требуется:
Выполнить запрос Zapros и "что-нибудь" с ним делать, т.е. должна иметься возможность обращаться к результату запроса, например, как к какой-то таблице или ещё как. Например, требуется вывести значение из первого поля первой записи в диалоговое окно MsgBox. Когда кодил в C# - то обращался именно как к таблице, у которой можно обратиться к любой строке/столбцу по номеру. Т.е. самая обычная таблица.
...
Рейтинг: 0 / 0
VBA и Access: как создать и выполнить запрос из VBA?
    #36353276
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
VBA и Access: как создать и выполнить запрос из VBA?
    #36354141
Michael Melvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код отличный, спасибо. Но есть два вопроса (проблемы):
1. Пытаюсь подключить DAO - не подключает, отображая сообщение: Имя конфликтует с существующим модулем, проектом или библиотекой. Ничего другого я не подключал, БД вообще пустая (создал пустой файл и тут же решил подключать DAO)
2. Как убрать привязку к конкретному файлу? Поскольку код находится внутри файла mdb (написан на VBA) - то хорошо бы обращаться к БД, в файле которой находится этот текст программы. Думаю, что-то связано с CurrentDB, но из-за пункта 1 я проверить это пока не могу.
...
Рейтинг: 0 / 0
VBA и Access: как создать и выполнить запрос из VBA?
    #36354616
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо заменить только одну строчку
Код: plaintext
    Set MDB = CurrentDb()
а библиотеки DAO и ADO подключаются уже при создании файла mdb (должны подключаться)
...
Рейтинг: 0 / 0
VBA и Access: как создать и выполнить запрос из VBA?
    #36359610
Michael Melvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Klen, выражаю благодарность за быстрый и точный ответ. Большое спасибо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA и Access: как создать и выполнить запрос из VBA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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