|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Сломал всю голову. Access 2010. Разделенная БД. Есть табличная форма. Заполняется данными с помощью DAO.Recordset: Код: vbnet 1. 2. 3. 4.
В переменной sql обычный Select запрос. Данные загружаются нормально. Но при попытке сортировки или фильтрации в форме, вываливается ошибка запроса. Стал смотреть Me.RecordSource и обнаружил, что при установке рекордсета формы, в RecordSource помещается обрезанный до 255 символов запрос. Отсюда и ошибки при сортировке. Если загружать данные в форму напрямую через Me.RecordSource=sql, то все ОК, но мне такой вариант не подходит. Кто сталкивался, как побороть? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2018, 16:23 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Krinopotam, Из HELP-"Источниками данных для форм могут служить таблицы и запросы ." Рекордсет не упоминается. Me.RecordSource="select * from ...where.."-и все... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2018, 21:41 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
sdkuKrinopotam, Из HELP-"Источниками данных для форм могут служить таблицы и запросы ." Рекордсет не упоминается. Me.RecordSource="select * from ...where.."-и все... А я использую только ADO.Recordset ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 08:16 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Krinopotam, Me.RecordSource=sql sql может быть любой длины. По крайней мере 600-700 знаков у меня было ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 09:06 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
l-evgeneKrinopotam, Me.RecordSource=sql sql может быть любой длины. По крайней мере 600-700 знаков у меня было Про это я знаю, но в этом случае сталкиваюсь с другими граблями - проблема с принудительным обновлением табличной формы. Ни requery, ни Me.RecordSource=Me.RecordSource не работают стабильно. Обновление то срабатывает, то не срабатывает без всякой системы. Какие только конструкции я не пробовал. Не говоря уже о том, что Me.RecordSource значительно медленнее, чем через Recordset. Уж не знаю, в чем там причина, но различие в скорости заметно на глаз. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2018, 22:27 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ROIА я использую только ADO.Recordset Тоже пробовал - с ним свои глюки. Сортировка на форме при простейшем запросе срабатывает один раз. После этого форма вообще перестает реагировать на сортировку. Плюс, используя ADO.Recordset я периодически ловлю краши Accessа без внятных причин. Причем это происходит на разных машинах с разной операционкой. Декомпилирование/компилирование не помогает. За что в Access не возьмись, везде сплошные грабли. Очень сырой продукт. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2018, 22:31 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Krinopotam.... Очень сырой продукт.Особенно если учесть что ему минимум лет 20+ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2018, 22:59 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
KrinopotamROIА я использую только ADO.Recordset Тоже пробовал - с ним свои глюки. Сортировка на форме при простейшем запросе срабатывает один раз. После этого форма вообще перестает реагировать на сортировку. Плюс, используя ADO.Recordset я периодически ловлю краши Accessа без внятных причин. Причем это происходит на разных машинах с разной операционкой. Декомпилирование/компилирование не помогает. За что в Access не возьмись, везде сплошные грабли. Очень сырой продукт. "Вы просто не умеете Ееего готовить" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 05:56 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ROIKrinopotamпропущено... Тоже пробовал - с ним свои глюки. Сортировка на форме при простейшем запросе срабатывает один раз. После этого форма вообще перестает реагировать на сортировку. Плюс, используя ADO.Recordset я периодически ловлю краши Accessа без внятных причин. Причем это происходит на разных машинах с разной операционкой. Декомпилирование/компилирование не помогает. За что в Access не возьмись, везде сплошные грабли. Очень сырой продукт. "Вы просто не умеете Ееего готовить" Пиз***бол... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 08:27 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 08:39 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Krinopotam, протестировал сейчас, действительно есть такая проблема. Вариант решения (наскорую вроде работает корректно) сделать сохранённый запрос (можно если необходимо в нём менять строку SQL) и его использовать для открытия рекордсета, а потом уже присваивать форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 08:47 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ROIПанургпропущено... Пиз***бол... Хммм... Это вы мне?да ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 08:47 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ПанургROIпропущено... Хммм... Это вы мне?да Вы там поаккуратней на своем "Олимпе"! А то свалитесь ненароком. "НеПиз***бол" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 09:13 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ROI, от тебя тут четыре сообщения и ноль информации (ещё и затёртые и уже не смешные штампы). Одним словом - п...бол. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 09:27 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 09:41 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ПанургROI, от тебя тут четыре сообщения и ноль информации (ещё и затёртые и уже не смешные штампы). Одним словом - п...бол. Ну во первых если быть точным 2 сообщения. В первом сообщении я сообщил что использую ADO во втором был ответ на сумбурное хаяния Access Если у вас не держание, то хамите в другом месте. С уважением к вам и к Лапуху. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 09:51 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ROI, " недержание " пишется слитно... Ты и про классы писал... то же самое. Информации ноль (0). Повар ты наш... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 10:02 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ПанургROI, " недержание " пишется слитно... Ты и про классы писал... то же самое. Информации ноль (0). Повар ты наш... 1 спасибо пр недержание. 2 а классы, чё классы - живут, по мере возможности использую. это вы про обращение к формам как к классу? я это использую (когда есть необходимость) и дались вам эти "классы" А вообще предлагаю конфликт считать исчерпанным! С уважением к вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 10:11 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
ПанургKrinopotam, протестировал сейчас, действительно есть такая проблема. Вариант решения (наскорую вроде работает корректно) сделать сохранённый запрос (можно если необходимо в нём менять строку SQL) и его использовать для открытия рекордсета, а потом уже присваивать форме. Да, я тоже пришел к этому. Использую данное решение в качестве обходного пути. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 16:40 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Просмотрел как "ломаются копья", но так и не "вкурил" зачем использовать рекордсет(и соответственно VBA) там, где без этого вполне можно обойтись. Или написание некоего кода это самоцель. Ведь создание RS(на инструкции SQL, по сути запросе, есть доставание правой рукой левого уха) для заполнения формы данными не несет никаких преимуществ по сравнению с назначением источником данных той же самой инструкции. (может я чего-то не понимаю и это действительно дает какие-то преимущества. Подчеркиваю для заполнения данными,а не их изменения,хотя и для этого,довольно часто, достаточно запроса ) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 19:11 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
sdku, наборы данных бывают созданы не только на основе таблицы. Бывают, например, на XML или свободные наборы. Да и не ломали ничего особенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 19:35 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
sdkuПросмотрел как "ломаются копья", но так и не "вкурил" зачем использовать рекордсет(и соответственно VBA) там, где без этого вполне можно обойтись. Или написание некоего кода это самоцель. Ведь создание RS(на инструкции SQL, по сути запросе, есть доставание правой рукой левого уха) для заполнения формы данными не несет никаких преимуществ по сравнению с назначением источником данных той же самой инструкции. (может я чего-то не понимаю и это действительно дает какие-то преимущества. Подчеркиваю для заполнения данными,а не их изменения,хотя и для этого,довольно часто, достаточно запроса ) Отвечу. Во первых, заполнение формы через рекордсет значительно быстрее, чем через Recordsource. Это заметно невооруженным глазом. Во вторых, через рекордсет есть возможность управлять режимом заполнения данных. В третьих - Recordsource (по крайней мере в моем случае) имеет также ряд глюков, среди которых особенной раздражает нестабильное обновление данных формы (все известные методы обновления я перепробовал, можете мне поверить). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 19:56 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
Krinopotam, Может, что-то в консерватории подправить? © ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2018, 20:34 |
|
Странности с DAO.Recordset в форме
|
|||
---|---|---|---|
#18+
KrinopotamОтвечу. Во первых, заполнение формы через рекордсет значительно быстрее, чем через Recordsource. Это заметно невооруженным глазом. Во вторых, через рекордсет есть возможность управлять режимом заполнения данных. В третьих - Recordsource (по крайней мере в моем случае) имеет также ряд глюков, среди которых особенной раздражает нестабильное обновление данных формы (все известные методы обновления я перепробовал, можете мне поверить). Я вам верю сам заметил ряд глюков. у меня в основном свободные формы и я им присваиваю и обновляю Recordset по мере надобности. Заметил одну неприятную закономерность если "рабочую" форму открыть в конструкторе то свойство Recordsource пустое. а у "глючной" формы в этом свойстве появляется текст в виде запроса зачастую огрызочный. в тогда форма балдеет по черному. очищаю сохраняю все нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 05:26 |
|
|
start [/forum/topic.php?fid=45&msg=39745011&tid=1610981]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 307ms |
total: | 449ms |
0 / 0 |