Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ListBox не читает больше 65534 строк? / 10 сообщений из 10, страница 1 из 1
22.03.2016, 08:21
    #39197613
Shart_Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
Access 2007, Есть форма для выборки данных по людям с определенными критериями. Выбираю в List, хочу вывести количество отобранных записей. Если отобрано немного записей - то все корректно, если число большое - выводится всегда 65534. Для подсчета количества записей использую сам List:
Код: vbnet
1.
2.
3.
 qsql = "Select " & Whatstr & " From PERSONS Left Join DDPROF_OSM on Persons.P_Num=DDProf_OSM.P_num where " & wherestr & " group by " & GroupByStr & " order by [SNAME], [FI], [SI]"
    frm.List1.RowSource = qsql
    frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.ListCount - 1)


Пробовала делать через отдельный Recordset:
Код: vbnet
1.
2.
recordset.MoveLast
recordset.RecordCount


работает корректно, но в два раза дольше (один запрос грузится в List, второй отдельный считает кол-во записей). Очень не хочется лишний раз нагружать базу. Можно ли одним запросом и данные в лист вывести и количество адекватное увидеть?
...
Рейтинг: 0 / 0
22.03.2016, 08:37
    #39197623
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
Shart_Sonia,

Me!Kol_Label.Caption = "Количество отобрано: " & Me!List1.Recordset.RecordCount
...
Рейтинг: 0 / 0
22.03.2016, 08:43
    #39197626
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
Shart_SoniaМожно ли одним запросом и данные в лист вывести и количество адекватное увидеть? Используй свойство Recordset ListBox . Открыл набор записей, посмотрел количество записей и присвоил списку.

Зачем такое количество (65534 и больше) записей пользователю? Тут только листать устанешь!
...
Рейтинг: 0 / 0
22.03.2016, 08:56
    #39197633
Shart_Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
vmag,
заменила на
Код: vbnet
1.
2.
3.
frm.List1.RowSource = qsql
    frm.List1.Recordset.MoveLast
    frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.Recordset.RecordCount)


Один раз отрабатывает правильно, при попытке второй раз отфильтровать записи выдает Недопустимая операция... на строке
Код: vbnet
1.
 frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.Recordset.RecordCount)

что-то сбрасывается что ли при переприсвоении свойства RowSource...пока не могу понять...
...
Рейтинг: 0 / 0
22.03.2016, 09:01
    #39197634
Shart_Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
Теперь "Указан недопустимый объект или объект более не задан"
на строке
Код: vbnet
1.
frm.List1.Recordset.MoveLast
...
Рейтинг: 0 / 0
22.03.2016, 09:05
    #39197636
\\\\
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
Shart_Soniavmag,
заменила на
Код: vbnet
1.
2.
3.
frm.List1.RowSource = qsql
    frm.List1.Recordset.MoveLast
    frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.Recordset.RecordCount)


Один раз отрабатывает правильно, при попытке второй раз отфильтровать записи выдает Недопустимая операция... на строке
Код: vbnet
1.
 frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.Recordset.RecordCount)

что-то сбрасывается что ли при переприсвоении свойства RowSource...пока не могу понять...Смысл в этих телодвижениях? При количестве записей больше 65534 будет ошибка. Узнавай потом количество записей - не узнавай, какая разница...
...
Рейтинг: 0 / 0
22.03.2016, 09:09
    #39197643
Shart_Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
\\\\,
Ошибки нет при первой фильтрации, даже на большом числе записей. Ошибка теперь появляется на второй фильтрации (после переприсвоения RowSource) и не зависит от количества записей.
...
Рейтинг: 0 / 0
22.03.2016, 09:09
    #39197644
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
Shart_Sonia,

frm.List1.RowSource = qsql
frm.List1.Requery
frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.Recordset.RecordCount)
...
Рейтинг: 0 / 0
22.03.2016, 09:13
    #39197647
Shart_Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
vmag, я тоже про это подумала, но не помогло почему-то
...
Рейтинг: 0 / 0
22.03.2016, 09:26
    #39197659
Shart_Sonia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox не читает больше 65534 строк?
vmag,
сделала через присвоение отдельного Recordset и убрала вообще RowSource:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Public RecTest As Recordset
Set RecTest = Nothing
qsql = "Select " & Whatstr & " From PERSONS Left Join DDPROF_OSM on Persons.P_Num=DDProf_OSM.P_num where " & wherestr & " group by " & GroupByStr & " order by [SNAME], [FI], [SI]"
Set RecTest = CurrentDb.OpenRecordset(qsql)
Set frm.List1.Recordset = RecTest
frm.List1.Requery
frm.List1.Recordset.MoveLast
frm.Kol_Label.Caption = "Количество отобрано: " & Format(frm.List1.Recordset.RecordCount)



Все заработала как надо. Теперь бы еще понять почему предыдущий вариант не работал... для очистки совести.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ListBox не читает больше 65534 строк? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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