powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / COUNT (*)
15 сообщений из 15, страница 1 из 1
COUNT (*)
    #36401701
vbasic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужна помощь!
Мне нужно получить кол-во найденных ячеек по условию SQLStr = "SELECT Count (*) From mytable WHERE col = #" & somevar1 & "# AND Id_Program=" & somevar2
Как теперь получить именно число, поскольку SQLStr = строке с запросом
...
Рейтинг: 0 / 0
COUNT (*)
    #36402198
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) какая среда?
2) каким образом запрос запускается на выполнение?
...
Рейтинг: 0 / 0
COUNT (*)
    #36402701
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял то:

создайте объект recordset на основе вашнго запроса а затем выполнеите метод recordcount
типа так:

Dim connection As New ADODB.connection
Dim rs As New ADODB.Recordset
SQLStr = "SELECT Count (*) From mytable WHERE col = #" & somevar1 & "# AND Id_Program=" & somevar2

connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=здесь путь;" & _
"Persist Security Info=False"
connection.Open

rs.Open SQLStr , connection, adOpenKeyset, adLockOptimistic

Msgbox rs.RecordCount
...
Рейтинг: 0 / 0
COUNT (*)
    #36402714
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня смутило оперирование понятием "ячейка". Может все же дело происходит в локальной талице Access....
...
Рейтинг: 0 / 0
COUNT (*)
    #36402773
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TpaBka,

Кстати, ерунду вы сказали!!!

Ибо RecordCount ВСЕГДА будет равен 1
Либо надо убрать "Count" из запроса, что неэкономично, либо считывать значение нулевого (или поименованного поля).
...
Рейтинг: 0 / 0
COUNT (*)
    #36403113
vbasicНужна помощь!
Мне нужно получить кол-во найденных ячеек по условию SQLStr = "SELECT Count (*) From mytable WHERE col = #" & somevar1 & "# AND Id_Program=" & somevar2
Как теперь получить именно число, поскольку SQLStr = строке с запросом

мой способ возможно дилетантский, но я создавал в базе запрос (генерировал имя) через CreateQueryDef, а потом получал первый field
запрос потом можно убить.

Но это некрасиво, хотя работает.
...
Рейтинг: 0 / 0
COUNT (*)
    #36403147
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbasic,
Код: plaintext
1.
2.
rs.Open ....
x=rs.fields( 0 ).value
rs.Close

PS здесь на rs.eof проверять не нужно, т.к. Сount(*) выдает значение всегда.
В общем случае - надо проверять rs.eof после открытия.
...
Рейтинг: 0 / 0
COUNT (*)
    #36403444
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwrqwr
PS здесь на rs.eof проверять не нужно, т.к. Сount(*) выдает значение всегда.
В общем случае - надо проверять rs.eof после открытия.

не всегда, при определенных условиях будет пустой рекордсет
...
Рейтинг: 0 / 0
COUNT (*)
    #36403456
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется такой способ тоже будет работать хотя не проверял
Код: plaintext
1.
2.
3.
4.
5.
Dim Counter As Integer 
 Counter =  0 

Do until Rs.Eof 
 Counter = Counter +  1 
Loop
...
Рейтинг: 0 / 0
COUNT (*)
    #36403466
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ваше приложение зациклиться =)
...
Рейтинг: 0 / 0
COUNT (*)
    #36403468
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а потом упадёт с ошибкой переполнения Integer
...
Рейтинг: 0 / 0
COUNT (*)
    #36403471
так,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKotqwrqwr
PS здесь на rs.eof проверять не нужно, т.к. Сount(*) выдает значение всегда.
В общем случае - надо проверять rs.eof после открытия.

не всегда, при определенных условиях будет пустой рекордсет

эта каких таких условиях?
...
Рейтинг: 0 / 0
COUNT (*)
    #36403478
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так,HandKot
эта каких таких условиях?
+1
мне тоже интересно (есс-но, применительно к заглавному посту).
...
Рейтинг: 0 / 0
COUNT (*)
    #36403552
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне тоже.

А еще мне интересно, аффтару эта ветка вообще нужна?
...
Рейтинг: 0 / 0
COUNT (*)
    #36403663
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
беру свои слова обратно.
что-то меня приглючило


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / COUNT (*)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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