powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DAO 2.x-3.xx и Visual Basic
5 сообщений из 5, страница 1 из 1
DAO 2.x-3.xx и Visual Basic
    #33554597
derikkk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Столкунулся с такой проблемой:

есть таблица test в БД формата Access (97 и 2000), следующего вида:

Код: plaintext
1.
2.
3.
4.
5.
6.
name  |num
a     |1
b     |2
c     |3
d     |4
ab    |2
трабла в том, что по SQL запросу вида select * from test where name like a* или вида select * from test where [num] = 2 код на Visual Basic дает только ОДНУ запись - первую по счету. То есть процедура следующего вида:

Set db = DBEngine.OpenDatabase("c:\test2.mdb")
Dim sqlreport As Recordset
Set sqlreport = db.OpenRecordset("select * from test where [name] LIKE 'a*'")

дает в рекордсете sqlreport только одну запись. Хотя, должно быть две.
В Access 2000 по аналогичному запросу дает две записи. Пробовал все версии DAO, в моей коллекции (от v2.5 до v3.6) - результат один. Это глюк или я что-то делаю не так?
...
Рейтинг: 0 / 0
DAO 2.x-3.xx и Visual Basic
    #33554807
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А рекордсет по циклу проводил ?
если больше 2-записей то надо циклить по рекодсету что бы вытащить все записи по запросу
sqlreport.movefirst
Do Until sqlreport.Eof

Debug.Print sqlreport.Fields(0).Value
sqlreport.MoveNext
loop
...
Рейтинг: 0 / 0
DAO 2.x-3.xx и Visual Basic
    #33555663
derikkk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOА рекордсет по циклу проводил ?
если больше 2-записей то надо циклить по рекодсету что бы вытащить все записи по запросу
sqlreport.movefirst
Do Until sqlreport.Eof

Debug.Print sqlreport.Fields(0).Value
sqlreport.MoveNext
loop

Оно понятно, я пока что рассматриваю количество записей по свойству RecordCount. Например, MsgBox sqlreport.RecordCount = 1, а должно быть 2. Или там с нуля начинается? Вроде ноль = 0 записей, 1 = 1 запись и т.д.
...
Рейтинг: 0 / 0
DAO 2.x-3.xx и Visual Basic
    #33555767
А так сколько?

Код: plaintext
1.
    sqlreport.MoveLast
    Msgbox sqlreport.RecordCount
...
Рейтинг: 0 / 0
DAO 2.x-3.xx и Visual Basic
    #33558282
derikkk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДВЕ!!! Пасиба! Блин, как сам то не дошел...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DAO 2.x-3.xx и Visual Basic
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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