Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кол-во записей в рекорсете / 13 сообщений из 13, страница 1 из 1
15.07.2003, 12:31
    #32208169
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
ADP 2000
Открываю из проекта таблицу из внешнего mdb-файла, как

ExportDB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\EXPORT.mdb"
rstDemandImport.Open "SELECT * FROM E_Demands", ExportDB, adOpenDynamic, adLockOptimistic

rstDemandImport.MoveLast
If rstDemandImport.EOF = True Then
countDemandOfCust = rstDemandImport.RecordCount
End If

countDemandOfCust = 0

записи в таблице есть точно.

Может я как-то коннект неверно прописываю ?
...
Рейтинг: 0 / 0
15.07.2003, 12:35
    #32208177
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
А почему = True???
...
Рейтинг: 0 / 0
15.07.2003, 12:35
    #32208179
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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. If the Recordset object does not support 
approximate positioning, this property may be a significant drain on resources 
because all records will have to be retrieved and counted to return an accurate 
RecordCount value.

The cursor type of the Recordset object affects whether the number of records 
can be determined. The RecordCount property will return - 1  for a forward-only 
cursor; the actual count for a static or keyset cursor; and either - 1  or the actual 
count for a dynamic cursor, depending on the data source.


По-русски: не каждый тип курсора и не каждый провайдер данных поддерживает свойство RecordCount.
...
Рейтинг: 0 / 0
15.07.2003, 12:37
    #32208183
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
прям болезнь какая-то писать =True и =False
где только понахватались такого.
может FAQ-ом их задавить? :)
...
Рейтинг: 0 / 0
15.07.2003, 12:37
    #32208184
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
2 Senin Viktor:

У него так написан иф, что программа в него не заходит.
...
Рейтинг: 0 / 0
15.07.2003, 12:38
    #32208185
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
Действительно напарил с True
Но все равно .RecorCount = -1 :((
...
Рейтинг: 0 / 0
15.07.2003, 12:40
    #32208190
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
Короче сдела я так
rstDemandImport.Open "SELECT * FROM E_Demands", ExportDB, adOpenStatic

и тогда записи считаются

а за True уж извиняйте :))
...
Рейтинг: 0 / 0
15.07.2003, 12:41
    #32208195
VIG
VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ExportDB.Open  "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=C:\EXPORT.mdb" 
rstDemandImport.Open  "SELECT * FROM E_Demands" , ExportDB, adOpenDynamic, adLockOptimistic 
If rstDemandImport.EOF and  rstDemandImport.BOF Then 
     countDemandOfCust =  0  
else
    rstDemandImport.MoveLast 
    countDemandOfCust = rstDemandImport.RecordCount 
End If 
...
Рейтинг: 0 / 0
15.07.2003, 12:54
    #32208214
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
>Действительно напарил с True
>Но все равно .RecorCount = -1 :((

тогда см. мой топик

но не лучше в твоем случае сделать Select Count(*) From ... Where...
и наслаждать результатом
...
Рейтинг: 0 / 0
15.07.2003, 13:17
    #32208253
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
2 VIG
Сначала так и было, но возращало -1
стало работать только с adOpenStatic
...
Рейтинг: 0 / 0
15.07.2003, 13:30
    #32208278
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
2VIG
>rstDemandImport.MoveLast
>countDemandOfCust = rstDemandImport.RecordCount

В ADO далать переход на последнюю запись вроде и не к чему.
Рекодсет или поддерживает RecordCount и вернет верное значение без MoveLast или не поддерживает и вернет -1.

2Чумаков А.
все-таки глупо тащить все записи, чтобы подсчитать их кол-во на клиенте.
...
Рейтинг: 0 / 0
15.07.2003, 13:50
    #32208319
DLM
DLM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
Может я конечно не прав, но вот например работает и так:


Set rst = mydb.OpenRecordset("select count(ID_SIM) as SimsNumber from sims")
Me.SimsNumber.Caption = rst!SimsNumber
rst.Close
...
Рейтинг: 0 / 0
15.07.2003, 14:09
    #32208352
VIG
VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кол-во записей в рекорсете
2Чумаков
Если установлено свойство CursorLocation = adUseClient, то работает одинаково.
>rstDemandImport.MoveLast
>countDemandOfCust = rstDemandImport.RecordCount

В ADO далать переход на последнюю запись вроде и не к чему.
Рекодсет или поддерживает RecordCount и вернет верное значение без MoveLast или не поддерживает и вернет -1.

Согласен ,подвел метод Past & Copy

все-таки глупо тащить все записи, чтобы подсчитать их кол-во на клиенте .
Если надо только получить к-во записей -согласен .Select Count(*) From ... Where... гораздо лучше.А если нет?
А цикл
dim iCnt
icnt=rs.recordcount
for i=1 to icnt
......
next i
работает намного быстрее чем
do until .eof (do while not .eof)
.....
loop
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Кол-во записей в рекорсете / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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