powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Странности с DAO.Recordset в форме
28 сообщений из 28, показаны все 2 страниц
Странности с DAO.Recordset в форме
    #39743663
Krinopotam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сломал всю голову. Access 2010. Разделенная БД.

Есть табличная форма.
Заполняется данными с помощью DAO.Recordset:
Код: vbnet
1.
2.
3.
4.
    
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset(sql)
Set Me.Recordset = rst



В переменной sql обычный Select запрос.
Данные загружаются нормально. Но при попытке сортировки или фильтрации в форме, вываливается ошибка запроса.
Стал смотреть Me.RecordSource и обнаружил, что при установке рекордсета формы, в RecordSource помещается обрезанный до 255 символов запрос. Отсюда и ошибки при сортировке. Если загружать данные в форму напрямую через Me.RecordSource=sql, то все ОК, но мне такой вариант не подходит.

Кто сталкивался, как побороть?
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39743890
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krinopotam,
Из HELP-"Источниками данных для форм могут служить таблицы и запросы ."
Рекордсет не упоминается.
Me.RecordSource="select * from ...where.."-и все...
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39743988
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuKrinopotam,
Из HELP-"Источниками данных для форм могут служить таблицы и запросы ."
Рекордсет не упоминается.
Me.RecordSource="select * from ...where.."-и все...
А я использую

только ADO.Recordset
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744002
l-evgene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Krinopotam,

Me.RecordSource=sql
sql может быть любой длины. По крайней мере 600-700 знаков у меня было
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744804
Krinopotam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
l-evgeneKrinopotam,

Me.RecordSource=sql
sql может быть любой длины. По крайней мере 600-700 знаков у меня было

Про это я знаю, но в этом случае сталкиваюсь с другими граблями - проблема с принудительным обновлением табличной формы.
Ни requery, ни Me.RecordSource=Me.RecordSource не работают стабильно. Обновление то срабатывает, то не срабатывает без всякой системы. Какие только конструкции я не пробовал.
Не говоря уже о том, что Me.RecordSource значительно медленнее, чем через Recordset. Уж не знаю, в чем там причина, но различие в скорости заметно на глаз.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744806
Krinopotam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROIА я использую

только ADO.Recordset

Тоже пробовал - с ним свои глюки. Сортировка на форме при простейшем запросе срабатывает один раз. После этого форма вообще перестает реагировать на сортировку. Плюс, используя ADO.Recordset я периодически ловлю краши Accessа без внятных причин.
Причем это происходит на разных машинах с разной операционкой. Декомпилирование/компилирование не помогает.
За что в Access не возьмись, везде сплошные грабли. Очень сырой продукт.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744812
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krinopotam.... Очень сырой продукт.Особенно если учесть что ему минимум лет 20+
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744837
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KrinopotamROIА я использую

только ADO.Recordset

Тоже пробовал - с ним свои глюки. Сортировка на форме при простейшем запросе срабатывает один раз. После этого форма вообще перестает реагировать на сортировку. Плюс, используя ADO.Recordset я периодически ловлю краши Accessа без внятных причин.
Причем это происходит на разных машинах с разной операционкой. Декомпилирование/компилирование не помогает.
За что в Access не возьмись, везде сплошные грабли. Очень сырой продукт.
"Вы просто не умеете Ееего готовить"
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744844
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIKrinopotamпропущено...


Тоже пробовал - с ним свои глюки. Сортировка на форме при простейшем запросе срабатывает один раз. После этого форма вообще перестает реагировать на сортировку. Плюс, используя ADO.Recordset я периодически ловлю краши Accessа без внятных причин.
Причем это происходит на разных машинах с разной операционкой. Декомпилирование/компилирование не помогает.
За что в Access не возьмись, везде сплошные грабли. Очень сырой продукт.
"Вы просто не умеете Ееего готовить"
Пиз***бол...
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744846
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургROIпропущено...

"Вы просто не умеете Ееего готовить"
Пиз***бол...
Хммм... Это вы мне?
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744848
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krinopotam, протестировал сейчас, действительно есть такая проблема.
Вариант решения (наскорую вроде работает корректно)
сделать сохранённый запрос (можно если необходимо в нём менять строку SQL) и его использовать для открытия рекордсета, а потом уже присваивать форме.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744849
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIПанургпропущено...
Пиз***бол...
Хммм... Это вы мне?да
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744850
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургROIпропущено...

Хммм... Это вы мне?да
Вы там поаккуратней на своем "Олимпе"!
А то свалитесь ненароком.
"НеПиз***бол"
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744851
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI, от тебя тут четыре сообщения и ноль информации (ещё и затёртые и уже не смешные штампы). Одним словом - п...бол.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744853
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург...Одним словом - п...бол...
Нашего полку прибыло.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744854
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургROI, от тебя тут четыре сообщения и ноль информации (ещё и затёртые и уже не смешные штампы). Одним словом - п...бол.
Ну во первых если быть точным 2 сообщения.
В первом сообщении я сообщил что использую ADO
во втором был ответ на сумбурное хаяния Access
Если у вас не держание, то хамите в другом месте.
С уважением к вам и к Лапуху.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744856
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI, " недержание " пишется слитно...

Ты и про классы писал... то же самое. Информации ноль (0). Повар ты наш...
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744857
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургROI, " недержание " пишется слитно...

Ты и про классы писал... то же самое. Информации ноль (0). Повар ты наш...
1 спасибо пр недержание.
2 а классы, чё классы - живут, по мере возможности использую.
это вы про обращение к формам как к классу?
я это использую (когда есть необходимость)
и дались вам эти "классы"
А вообще предлагаю конфликт считать исчерпанным!
С уважением к вам.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744965
Krinopotam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургKrinopotam, протестировал сейчас, действительно есть такая проблема.
Вариант решения (наскорую вроде работает корректно)
сделать сохранённый запрос (можно если необходимо в нём менять строку SQL) и его использовать для открытия рекордсета, а потом уже присваивать форме.

Да, я тоже пришел к этому. Использую данное решение в качестве обходного пути. Спасибо!
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744993
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просмотрел как "ломаются копья", но так и не "вкурил" зачем использовать рекордсет(и соответственно VBA) там, где без этого вполне можно обойтись. Или написание некоего кода это самоцель. Ведь создание RS(на инструкции SQL, по сути запросе, есть доставание правой рукой левого уха) для заполнения формы данными не несет никаких преимуществ по сравнению с назначением источником данных той же самой инструкции.
(может я чего-то не понимаю и это действительно дает какие-то преимущества. Подчеркиваю для заполнения данными,а не их изменения,хотя и для этого,довольно часто, достаточно запроса )
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39744994
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, наборы данных бывают созданы не только на основе таблицы. Бывают, например, на XML или свободные наборы.
Да и не ломали ничего особенно.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745000
Krinopotam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuПросмотрел как "ломаются копья", но так и не "вкурил" зачем использовать рекордсет(и соответственно VBA) там, где без этого вполне можно обойтись. Или написание некоего кода это самоцель. Ведь создание RS(на инструкции SQL, по сути запросе, есть доставание правой рукой левого уха) для заполнения формы данными не несет никаких преимуществ по сравнению с назначением источником данных той же самой инструкции.
(может я чего-то не понимаю и это действительно дает какие-то преимущества. Подчеркиваю для заполнения данными,а не их изменения,хотя и для этого,довольно часто, достаточно запроса )

Отвечу. Во первых, заполнение формы через рекордсет значительно быстрее, чем через Recordsource. Это заметно невооруженным глазом.
Во вторых, через рекордсет есть возможность управлять режимом заполнения данных. В третьих - Recordsource (по крайней мере в моем случае) имеет также ряд глюков, среди которых особенной раздражает нестабильное обновление данных формы (все известные методы обновления я перепробовал, можете мне поверить).
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745011
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krinopotam,

Может, что-то в консерватории подправить? ©
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745074
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KrinopotamОтвечу. Во первых, заполнение формы через рекордсет значительно быстрее, чем через Recordsource. Это заметно невооруженным глазом.
Во вторых, через рекордсет есть возможность управлять режимом заполнения данных. В третьих - Recordsource (по крайней мере в моем случае) имеет также ряд глюков, среди которых особенной раздражает нестабильное обновление данных формы (все известные методы обновления я перепробовал, можете мне поверить).
Я вам верю сам заметил ряд глюков.
у меня в основном свободные формы
и я им присваиваю и обновляю Recordset по мере надобности.

Заметил одну неприятную закономерность
если "рабочую" форму открыть в конструкторе то свойство Recordsource пустое.
а у "глючной" формы в этом свойстве появляется текст в виде запроса зачастую огрызочный.
в тогда форма балдеет по черному.
очищаю сохраняю все нормально.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745313
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI...С уважением к ... и к Лапуху...
Эххх, если бы не это ласковое и доброе сообщение,
, то скорее всего бы прям напал на него
, со всей своей неимоверной мощью, с целью снизвержения.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745335
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапухROI...С уважением к ... и к Лапуху...
Эххх, если бы не это ласковое и доброе сообщение,
, то скорее всего бы прям напал на него
, со всей своей неимоверной мощью, с целью снизвержения.

Это ж, куда я залез, что меня свергать надобно
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745343
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

Да не тебя.
...
Рейтинг: 0 / 0
Странности с DAO.Recordset в форме
    #39745350
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

Вместо - Него, читай - Того.
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Странности с DAO.Recordset в форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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