powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Почему RecordCount всегда равен' -1'
11 сообщений из 11, страница 1 из 1
Почему RecordCount всегда равен' -1'
    #32177446
Dmit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал хранимую процедуру
затем в перменную rstByOrder загоняю результат того что возвращает процедура
Set rstByOrder = cn.Execute("EXEC PCount @intCodeS = '" & intCodeS & "'")
потом переменной хочу присвоить кол-во записей
intCountExist = rstByOrder.RecordCount
и дело в том что rstByOrder.RecordCount всегда = -1
почему так, хотя процедура возвращает 3 записи
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177449
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Надо сделать MoveLast, тогда оно узнает, сколько там записей.
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177452
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rstByOrder.MoveLast
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177454
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так скоро народ не будет успевать вопросы задавать. :-)
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177478
Dmit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал так
rstByOrder.MoveLast
intCountExist = rstByOrder.RecordCount
и начинает ругаться
пишет
RowSet does not support fetching backward
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177494
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй
rstByOrder.MoveLast
rstByOrder.MoveFirst
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177506
Dmit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, ругается на rstByOrder.MoveLast
пишет тоже самое
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177511
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Dim lngRec As Long
Set cmd.ActiveConnection = CurrentProject.Connection
With cmd
.CommandText = "[бла-бла]"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("Doc", adBigInt, adParamInput, , 12548)
.Execute lngRec
End With
MsgBox lngRec
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177535
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> почему
Код: plaintext
1.
2.
3.
4.
If the Recordset object supports approximate positioning or bookmarks—that is, 
Supports (adApproxPosition) or Supports (adBookmark), respectively, return True—
this value will be the exact number of records in the Recordset, regardless of 
whether it has been fully populated.


И никакие Move не помогут - ADO не DAO.

2Dmit
А зачем тебе Кол-во записей? Многие вещи можно делать и без знание оного кол-ва либо с помощью Select Count(*) From Table Where ...

Ну если очень надо используй тип курсора статический либо динамический. Хотя проверка на Supports (...) не помешала бы. Иногда ADO меняет по своему усмотрению тип курсора.
Код: plaintext
1.
2.
3.
4.
5.
6.
Set rstPublishers = New ADODB.Recordset
   rstPublishers.CursorType = adOpenStatic
   rstPublishers.Open  "publishers" , strCnn, , , adCmdTable

   ' Populate the Recordset.
   intPublisherCount = rstPublishers.RecordCount
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177560
Dmit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
одни пишут так, другие так.
Кто нибудь напишите конкретно как мне сделать.
...
Рейтинг: 0 / 0
Почему RecordCount всегда равен' -1'
    #32177572
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант Хама Трамвайного для твоего конкретного случая вернет кол-во обработанных записей (им и пользуйся)Хотя и этот вариант бывает не возвращает значений :(
Мой вариант - вернет кол-во записей в рекодсете.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Почему RecordCount всегда равен' -1'
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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