Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как перебрать записи таблицы Access / 12 сообщений из 12, страница 1 из 1
08.01.2009, 03:08
    #35747113
Как перебрать записи таблицы Access
Что-то не могу понять, как выполнить запрос на выборку в Access с помощью vba
Execute - ругается на SELECT, нужно ли коннектится к базе, если я уже использую текущую базу. Использовать предварительно созданный запрос - устану для каждого запроса делать заспрос в Access. Покажите, пожалуйста, пример. Как перебрать записи в результате работы запроса SELECT? Уже битый час пытаюсь найти решение в сети - и нет вариантов. Гугл мысор выдаёт.
...
Рейтинг: 0 / 0
08.01.2009, 09:56
    #35747180
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать записи таблицы Access
выполнить запрос на выборку и получить 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
08.01.2009, 10:57
    #35747222
Как перебрать записи таблицы Access
klen_,
Спасибо! Хотелось бы уточнить один момент. Мне нужно выполнять SQL-запросы и я не хочу для этого создавать объекты "Запрос", а хочу писать ручками непосресдтвенно сам запрос в коде VBA. Такое возможно?
...
Рейтинг: 0 / 0
08.01.2009, 11:52
    #35747285
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать записи таблицы Access
в разделе Microsoft Access столько примеров !

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

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

Подскажите, пожалуйста, если есть пример под рукой.
...
Рейтинг: 0 / 0
08.01.2009, 12:46
    #35747335
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать записи таблицы Access
...
Рейтинг: 0 / 0
08.01.2009, 12:56
    #35747340
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать записи таблицы Access
например
в переменной 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
08.01.2009, 13:04
    #35747348
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать записи таблицы Access
вот здесь в факе, хорошо изложено
как формировать строковую переменную, которая будет содержать текст запроса
я думаю пригодится
...
Рейтинг: 0 / 0
08.01.2009, 13:44
    #35747386
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перебрать записи таблицы Access
НезнайкаАкссессКак перебрать записи в результате работы запроса 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
08.01.2009, 20:10
    #35747869
Как перебрать записи таблицы Access
klen_,

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

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


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