|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
Здравствуйте! Надо проверить пустая ли таблица "Таб", пишу: Код: vbnet 1.
Ругается на exists - "Сompile error" Как правильно проверить таблицу на пустоту? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 06:28 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
naufРугается на exists - "Сompile error" Как правильно проверить таблицу на пустоту? А использовать count() не пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 06:57 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
nauf, для VBA это просто строка. Тем более он не понимает что такое "exists" и чего от него хотят. И правильно что пишет про ошибку, нужно посылать на известные математические символы. Воспользуйся функцией DCount Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:10 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
DarkMan, Не пробовал. Искал ответ по форумам.В основном советуют Exists. Про count() пишут: "не рационально и при больших таблицах даже опасно. Более правильное решение использовать либо EXISTS(SELECT * FROM your_table) или SELECT top 1 * FROM your_table" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:13 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
Панург, Спасибо. Проверил таблицу RecordCount'ом. Работает. А как лучше проверить таблицу на наличие записей Dcount или RecordCount? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:20 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
naufкак лучше проверить таблицу на наличие записей Dcount или RecordCount?DCount() вызывает однократное выполнение запроса типа SELECT COUNT(*) FROM table и возвращает набор записей из одной записи с одним полем, значение коего сразу и используется. RecordCount вызывает также однократное выполнение заданного Вами запроса, однако возвращает набор из неопределённого количества записей с неопределённым (точнее, определяемым текстом запроса) количеством полей, причём требуемое значение ещё нужно получить, причём иногда для этого требуется выполнить псевдо-фетч всех записей (MoveLast). Т.е. в данном конкретном случае DCount(), несомненно, лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:38 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
naufкак лучше проверить таблицу на наличие записей Dcount или RecordCount? RecordCount для начала что-бы узнать через это свойство количество записей нужно открыть этот набор, что не всегда удобно. В некоторых наборах RecordCount будет равняться всегда -1. Правильней в таких случаях проверять положение курсора в наборе - BOF и EOF (эти свойства не должны быть одновременно трай). С функцией Dcount проще, она компактна и вернёт только результат, без возни с объектами. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:43 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
naufБолее правильное решение использовать либо EXISTSЗачем смешивать языки? EXISTS это из другой оперы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:49 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
Akina, Понял.Спасибо за подробный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 07:50 |
|
Проверка на наличия записей в таблице
|
|||
---|---|---|---|
#18+
naufDarkMan, Не пробовал. Искал ответ по форумам.В основном советуют Exists. Про count() пишут: "не рационально и при больших таблицах даже опасно. Более правильное решение использовать либо EXISTS(SELECT * FROM your_table) или SELECT top 1 * FROM your_table" Так Вас и не заставляют гонять всю таблицу , Вам необходимо проверить есть ли записи в таблице , а наличие хоть одной записи уже говорит о том , что она не пуста . Вам уже посоветовали использовать DCount() , правда лично я не пользуюсь этой функцией , а создаю свою , но это большой роли не играет. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 08:14 |
|
|
start [/forum/topic.php?fid=45&tid=1611553]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 165ms |
0 / 0 |