Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет / 7 сообщений из 7, страница 1 из 1
27.11.2013, 19:57
    #38480597
SiNtez_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
Всем привет!
В общем, проблема такая:
есть таблица, которую мы в Access vba открываем посредством следующего кода:
Код: vbnet
1.
CurrentDb.OpenRecordset("SELECT TOP 1 MAX(FIELD) FROM TABLE")


но, даже если таблица пуста, все равно в рекордсете появляется одна строка. Если убрать агрегирующий MAX, то все ок, ничего не вернется. Может кто-нибудь знает, что с этим можно поделать? Поскольку из-за этого рекордсеты не проходят стандартную проверку на наличие данных If rst.EOF And rst.BOF .
Спасибо.
...
Рейтинг: 0 / 0
27.11.2013, 20:05
    #38480616
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
SiNtez_26,

агрегатные функции без группировки, всегда что-то возвращают
нужно просто "понять и простить" помнить эту фичу
...
Рейтинг: 0 / 0
27.11.2013, 20:22
    #38480642
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
Код: sql
1.
SELECT TOP 1 MAX(FIELD) FROM TABLE HAVING MAX(FIELD) IS NOT NULL
...
Рейтинг: 0 / 0
27.11.2013, 20:23
    #38480645
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
Как вариант
Код: sql
1.
HAVING Count(*)>0
...
Рейтинг: 0 / 0
27.11.2013, 20:26
    #38480649
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
Вообще по аксесс есть специальный форум, лучше туда задавать http://www.sql.ru/forum/access
...
Рейтинг: 0 / 0
28.11.2013, 13:17
    #38481651
SiNtez_26
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
Shocker.Pro
Код: sql
1.
SELECT TOP 1 MAX(FIELD) FROM TABLE HAVING MAX(FIELD) IS NOT NULL


Спасибо! Не понимаю, как не мог догадаться проюзать HAVING. А касаемо форума - вопрос то по факту о vba и особенностях рекордсетов, не совсем Access'овский
...
Рейтинг: 0 / 0
28.11.2013, 13:29
    #38481674
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет
VBA Аксесса обсуждается тоже там.
Просто там гораздо больше народу и быстрее могут ответить.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / OpenRecorset с агрегирующими функциями возвращает странно не пустой рекордсет / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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