powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как перебрать записи таблицы Access
12 сообщений из 12, страница 1 из 1
Как перебрать записи таблицы Access
    #35747113
Что-то не могу понять, как выполнить запрос на выборку в Access с помощью vba
Execute - ругается на SELECT, нужно ли коннектится к базе, если я уже использую текущую базу. Использовать предварительно созданный запрос - устану для каждого запроса делать заспрос в Access. Покажите, пожалуйста, пример. Как перебрать записи в результате работы запроса SELECT? Уже битый час пытаюсь найти решение в сети - и нет вариантов. Гугл мысор выдаёт.
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747180
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выполнить запрос на выборку и получить Recordset в Access-е с помощью DAO
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    Dim mdb As Database
    Dim rst As Recordset
    Dim qdf As QueryDef
    
    Set mdb = CurrentDb
    Set qdf = mdb.QueryDefs("Запрос1")              ' если запрос уже создан
    
    Debug.Print qdf.SQL
    
    qdf.Parameters("Начальная Дата") = "16.04.2007" ' если есть параметры
    qdf.Parameters("Конечная Дата") = "18.04.2007"
    
    Set rst = qdf.OpenRecordset()
    
    Do Until rst.EOF
        Debug.Print rst.Fields("имя поля")
        rst.MoveNext
    Loop
в факе посмотрите вопрос Q37:
обязательно пригодиться
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747222
klen_,
Спасибо! Хотелось бы уточнить один момент. Мне нужно выполнять SQL-запросы и я не хочу для этого создавать объекты "Запрос", а хочу писать ручками непосресдтвенно сам запрос в коде VBA. Такое возможно?
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747285
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в разделе Microsoft Access столько примеров !

можно использовать команду в коде VBA
Код: plaintext
DoCmd.RunSQL " текст запроса " ' только не на выборку
так же
Код: plaintext
1.
Set mdb = CurrentDb()
Set rst = mdb.OpenRecordset(" любой текст запроса ")
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747312
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на счёт, "любой текст запроса", я поторопился, виноват
вот так
Код: plaintext
CurrentDb.Execute ("UPDATE и так далее")
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747330
klen_,
Какой поисковый запрос составить, что бы найти топики в разделе Access. Я пока не нашёл, хотя роюсь уже не первый день.

Интересует именно запрос на выборку, а не запросы на апдейт и инсерты и прочее.

Подскажите, пожалуйста, если есть пример под рукой.
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747335
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747340
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например
в переменной sSQL создаёте текст запроса, который вернёт одну запись TOP 1
а следующая строка кода, его выполняет
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Кнопка0_Click() ' кнопка на форме
    ' это запрос выберет только одну запись из Таблица1
    Dim sSQL As String
    sSQL = "SELECT TOP 1 pole1 FROM Таблица1 WHERE pole1 < " & Me!Поле_Из_Формы & " ORDER BY pole1 DESC"
    Me!ДругоеПолеФормы = CurrentProject.Connection.Execute(sSQL).Fields( 0 )
    
End Sub
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747348
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот здесь в факе, хорошо изложено
как формировать строковую переменную, которая будет содержать текст запроса
я думаю пригодится
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747386
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НезнайкаАкссессКак перебрать записи в результате работы запроса SELECT?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Sub Кнопка0_Click()

    Dim sSQL As String
    
    'здесь строите строку запроса
    sSQL = "SELECT * FROM Таблица1 WHERE pole1 = '" & Me.ПолеИзФормы & "'"
    
    Dim mdb As Database
    Dim rst As Recordset
    
    Set mdb = CurrentDb
    Set rst = mdb.OpenRecordset(sSQL)
    
    Do Until rst.EOF
        Debug.Print rst.Fields("имя поля")
        rst.MoveNext
    Loop
    
    rst.Close: Set rst = Nothing
    mdb.Close: Set mdb = Nothing
    
End Sub
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35747869
klen_,

Отлично! То, что нужно! Спасибо!

P.S. Какими поисковыми запросами польовались, что бы найти топик с примером запроса в строке?
...
Рейтинг: 0 / 0
Как перебрать записи таблицы Access
    #35752880
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НезнайкаАкссессКакими поисковыми запросами польовались, что бы найти топик с примером запроса в строке?в поиске набирал select openrecordset
если в поиске набрать перебрать записи , то тоже есть интересный вариант с использованием команды DLookup
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как перебрать записи таблицы Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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