Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос SELECT TOP (NN) * FROM ... / 5 сообщений из 5, страница 1 из 1
24.09.2014, 13:14
    #38756047
RandelManul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT TOP (NN) * FROM ...
Добрый день.

Среда разработки: VB6, SP6. База - *.mdf ACCESS 2000. DAO 3.60.

Итак, имеется некая база, имеем коннект и запрос.

sSQL = "SELECT TOP 72 * FROM BR_1 ORDER BY BAR_ID"

Set db = dao.OpenDatabase(DBPath)
Set rs = db.OpenRecordset(sSQL)

recCount = rs.RecordCount

recCount равен 1 после этого запроса.

Однако же, при следующем запросе

sSQL = "SELECT * FROM BR_1 ORDER BY BAR_ID"

Set db = dao.OpenDatabase(DBPath)
Set rs = db.OpenRecordset(sSQL)

recCount = rs.RecordCount

recCount равен кол-ву записей, более 20 000, что соответствует действительности.

Кто-нибудь посоветует, как вылечить этот баг?

Вариант со сдвигом MoveLast и последовательной переборкой MovePrevious уж очень не хотелось бы применять.
...
Рейтинг: 0 / 0
24.09.2014, 13:19
    #38756062
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT TOP (NN) * FROM ...
RandelManul, это не баг, а стандартное поведение описаное в МСДН

МСДНRecordCount property doesn't indicate how many records are contained in a dynaset–, snapshot–, or forward–only–type Recordset object until all records have been accessed

решение
Код: vbnet
1.
2.
3.
4.
5.
Set db = dao.OpenDatabase(DBPath)
 Set rs = db.OpenRecordset(sSQL)
 rs.Movelast
 rs.MoveFirst
 recCount = rs.RecordCount
...
Рейтинг: 0 / 0
24.09.2014, 13:22
    #38756070
RandelManul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT TOP (NN) * FROM ...
HandKot, большое спасибо!!!
...
Рейтинг: 0 / 0
24.09.2014, 13:22
    #38756074
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT TOP (NN) * FROM ...
Справку читать не пробовал? Посмотри параметры открытия рекордсета - там не только строка запроса передаётся...
...
Рейтинг: 0 / 0
24.09.2014, 13:25
    #38756080
RandelManul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос SELECT TOP (NN) * FROM ...
Akina, читал, разумеется, но невнимательно.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос SELECT TOP (NN) * FROM ... / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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