|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Добрый день. В Access 2013 есть форма, основанная на рекордсете. Данные загружаются с сервера SQL. Если в форме скопировать одну строку и вставить ее в пустую, то строка корректно вставится, но в предыдущей строке некоторые данные пропадают, а в остальных появляется ошибка #Error. Однако, если перейти на эту строку с ошибками, что все данные появляются, а ошибка пропадает. В чем может быть причина ошибки и как ее решить? Заранее всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2015, 10:41 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Та же база в 2010 офисе работает корректно ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2015, 14:30 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSТа же база в 2010 офисе работает корректно У нас не, то что Access 2013, у нас у большинства Access 2010 и Access 2007 не стоит....... А че в 2010 религия не позволяет работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2015, 14:39 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROI, у нас компания крупная. Инфраструктура уже всем политикой накатывает 13 офис. Из-за этой базы ничего отменять не будут. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 09:16 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSROI, у нас компания крупная. Инфраструктура уже всем политикой накатывает 13 офис. Из-за этой базы ничего отменять не будут. Если у вас отсутствует лицензия даунгрейд (извеняюсь за русский). Тогда только отладка и разбор полетов. К стати Access 2013 32 или 64 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 09:36 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaS, Вы не указали на каком рекордсете: DAO или ADODB. Какой запрос: вызов процедуры или select? Я в своих разработках никогда так не делаю, т.к. в свое время (2003-й год) столкнулся с проблемаи с фильтрами, сортировкой и определением выделенных записей (а не только текущей). 100% работающим решением есть использование RecordSource. С уважением, Павел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 10:24 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Присоединюсь. Если работать через рекордсеты, то надо брать на себя очень много забот. Аксес этого не любит. Его кредо - рекордсоурс. Если вы вручную получаете рекордсет, тогда аксес вааще не нужен - делайте на студии. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 10:31 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовVerochkaS, Вы не указали на каком рекордсете: DAO или ADODB. Какой запрос: вызов процедуры или select? Я в своих разработках никогда так не делаю, т.к. в свое время (2003-й год) столкнулся с проблемаи с фильтрами, сортировкой и определением выделенных записей (а не только текущей). 100% работающим решением есть использование RecordSource. С уважением, Павел. 1 RecordSource ---это название свойства формы а не рекордСет Я не понял чего вы не используете DAO или ADODB или вызов процедуры или select К стати с уважением ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 10:36 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
П-ЛПрисоединюсь. Если работать через рекордсеты, то надо брать на себя очень много забот. Аксес этого не любит. Его кредо - рекордсоурс. Если вы вручную получаете рекордсет, тогда аксес вааще не нужен - делайте на студии. У меня формы все отвязанные рекордСет скармливаю по мере надобнысти и потребности. Полет всегда нормальный . ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 10:38 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
По порядку ROI RecordSource ---это название свойства формы а не рекордСет RecordSource - это не объект, а строка. Access сам создаст нужный объект для работы. ROI не понял чего вы не используете DAO или ADODB или вызов процедуры или select Я конечно их использую в своем коде на VBA, но никогда в качестве источника данных для формы! С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 10:44 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовВы не указали на каком рекордсете: DAO или ADODB. ROIЯ не понял чего вы не используете DAO или ADODB На сабж посмотрите:) ... и нету в ДАО ни отвязанных, ни "синтетических" рекордсетов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 10:53 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовПо порядку ROI RecordSource ---это название свойства формы а не рекордСет RecordSource - это не объект, а строка. Access сам создаст нужный объект для работы. ROI не понял чего вы не используете DAO или ADODB или вызов процедуры или select Я конечно их использую в своем коде на VBA, но никогда в качестве источника данных для формы! С уважением, Павел По порядку дык по порядку 1 RecordSource - это не объект, а строка. Access сам создаст нужный объект для работы. Это свойство объекта. 2 А чего вы используете в качестве источника данных если это вам не подходит (DAO или ADODB или вызов процедуры или select) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:03 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
2571Павел ФурсовВы не указали на каком рекордсете: DAO или ADODB. ROIЯ не понял чего вы не используете DAO или ADODB На сабж посмотрите:) ... и нету в ДАО ни отвязанных, ни "синтетических" рекордсетов. Да ну а я то их 15 лет пользуююю. Вот я дебил. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:04 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
2571На сабж посмотрите:) Спасибо, просто давно не отвечал в форумах... С уваженим, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:09 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROI, ROIК стати Access 2013 32 или 64 - и 32 и 64. Больше 100 пользователей. У всех разные ноутбуки и операционки. ROIЯ не понял чего вы не используете DAO или ADODB или вызов процедуры или select К стати с уважением Использую подключение ADODB.В зависимости от заполненный полей в форме формируется динамический SQL-запрос, который отправляется на сервер. Данные записываются в рекордсет и он приписывается к форме. Это запрос и прописывается в RecordSource формы. ROIУ меня формы все отвязанные рекордСет скармливаю по мере надобнысти и потребности. Полет всегда нормальный . Если делать отвязанный рекордсет, то нужно все действия по изменению/удалению/добавлению прописывать для отправки на сервер, а с этим ADO справляется прекрасно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:12 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов100% работающим решением есть использование RecordSource.С уважением, Павел. Что и как Вы присваиваете RecordSource формы? Можно пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:13 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROIЭто свойство объекта. К чему это? Мы же говорим о работе с данными, а не пытаемся разобраться с объектной моделью Access. ROI2 А чего вы используете в качестве источника данных если это вам не подходит (DAO или ADODB или вызов процедуры или select) Происходят ошибки, приводящие к закрытию msaccess.exe в моих сценариях с использованием фильтров, сортировки и определения выделенных строк (о чем я уже писал выше). С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:20 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSЧто и как Вы присваиваете RecordSource формы? Можно пример? Конечно можно. Какие у нас есть доступные объекты: 1. Таблицы и запросы, находящиеся в CurrentDb. 2. Связанные таблицы и запросы к серверу, находящиеся в CurrentDb (использую для работы с SQL Server через ODBC). Их можно использовать в качестве RecordSource. Например, таблица называется Table1. Значит в качестве источнка можно указать "Table1". Или сформировать строку запроса к этой таблице: "select * from Table1". С уваженим, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:29 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSИспользую подключение ADODB.В зависимости от заполненный полей в форме формируется динамический SQL-запрос, который отправляется на сервер. Данные записываются в рекордсет и он приписывается к форме. Это запрос и прописывается в RecordSource формы. Зачем получать Recordset? Что приписывается, а что прописывается? Можно илюстрировать вашим кодом? С уважением, Павел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:37 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Убрала лишнее, чтобы не засорять код ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:43 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовROIЭто свойство объекта. К чему это? Мы же говорим о работе с данными, а не пытаемся разобраться с объектной моделью Access. ROI2 А чего вы используете в качестве источника данных если это вам не подходит (DAO или ADODB или вызов процедуры или select) Происходят ошибки, приводящие к закрытию msaccess.exe в моих сценариях с использованием фильтров, сортировки и определения выделенных строк (о чем я уже писал выше). С уважением, Павел Чушь , если все правильно сконструровано ничег такого не наблюдал. Есче раз ЧЮШЬ.(ИМХО) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:55 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROI, в принципе у меня все работает корректно. вот только копирование на компьютерах с 2013 офисом выдает такую ошибку, которая смущает пользователей ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:57 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaS, Спасибо. Я в принципе об этом и подумал. Многие так до сих пор делают (у ROI даже ошибок не возникает). Я уже высказал свою точку зрения, что так работать не надо. Используйте только RecordSource. В коде формы можно создать нужные объекты в CurrentDb или другой MDB/ACCDB, сформировать RecordSource и использовать его. Никто нас особо не ограничивает в названиях таблиц или запросов. Они могут быть созданы как временные объекты, нужные для работы самой формы. Естественно, при закрытии форма должна их удалить. Если у вас форма существует в единственном экземпляре, то объекты можно делать постоянными. Еще зависит от того, используется ли соместный доступ к CurrentDb или у каждого пользователя есть своя копия. С уважением, Павел. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 11:59 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSПавел Фурсов, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Убрала лишнее, чтобы не засорять код У меня при открытии: Всегда присутсутствует "Me.RecordSource = "" " А потом где то в коде "Set Me.Recordset = rst" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:01 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROI, ROIУ меня при открытии: Всегда присутсутствует "Me.RecordSource = "" " А потом где то в коде "Set Me.Recordset = rst" У меня это тоже есть. Просто удалила. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:06 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, я не очень понимаю, как мне данные с сервера передавать в форму. Т.е. я должна создать временную таблицу (точную копию таблицы на сервере), в нее залить данные, данную таблицу указать в RecordSource формы, а при закрытии формы удалить таблицу? А как быть со всеми изменениями данных? Все прописывать вручную? Чтобы каждое действие отражалось на сервере оперативно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:08 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовVerochkaS, Спасибо. Я в принципе об этом и подумал. Многие так до сих пор делают (у ROI даже ошибок не возникает). Я уже высказал свою точку зрения, что так работать не надо. Используйте только RecordSource. В коде формы можно создать нужные объекты в CurrentDb или другой MDB/ACCDB, сформировать RecordSource и использовать его. Никто нас особо не ограничивает в названиях таблиц или запросов. Они могут быть созданы как временные объекты, нужные для работы самой формы. Естественно, при закрытии форма должна их удалить. Если у вас форма существует в единственном экземпляре, то объекты можно делать постоянными. Еще зависит от того, используется ли соместный доступ к CurrentDb или у каждого пользователя есть своя копия. С уважением, Павел. Я уже писал у меня при открыти фрмы всегда стоит "Me.RecordSource = "" " Всегда, Всегда, Всегда............... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:10 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSПавел Фурсов, я не очень понимаю, как мне данные с сервера передавать в форму. Т.е. я должна создать временную таблицу (точную копию таблицы на сервере), в нее залить данные, данную таблицу указать в RecordSource формы, а при закрытии формы удалить таблицу? А как быть со всеми изменениями данных? Все прописывать вручную? Чтобы каждое действие отражалось на сервере оперативно. Отлично, продолжаем. Я писал про связанные таблицы. Они решают нашу задачу. SQL-таблица/вьюшка = TableDef в Access'е Только связанные таблицы можно редактировать. Запросы к серверу всегда только для чтения. Ваш запрос в Access должен обращаться к связанным таблицам! С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:14 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, так, иду по шагам: создавать таблички TableDefs научилась, добавлять в них поля тоже. Как теперь данные из SQL загрузить в эту таблицу? И еще вопрос - эти таблицы в списке объектов не должны появляться? Они как рекордсеты, получаются? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:34 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
П-ЛЕсли работать через рекордсеты, то надо брать на себя очень много забот. Аксес этого не любит. Его кредо - рекордсоурс. Если "на чистоту" - работа с АДО-рекордсетом (в особенности свободным) в Акцессе просто хреновейше сделана. Поэтому и "много забот" Павел Фурсов в свое время (2003-й год) столкнулся с проблемаи с фильтрами, сортировкой и определением выделенных записей (а не только текущей). можно на временном xml-файле, с форматом adPersistXML открывать рекордсет (а сам файл формировать как обычный текстовый) Тогда с встроенной сортировкой проблемы нет. И фильтр формы - те крашит Акцесс, правда и не работает тоже :) ROI2571... и нету в ДАО ни отвязанных, ни "синтетических" рекордсетов. Да ну а я то их 15 лет пользуююю. Вот я дебил.с ДАО-рекордсетом? отвязанным/свободным?? похвастаешься ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:35 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
поправка: Если "на чистоту" - работа с АДО-рекордсетом (в особенности свободным) в Акцессе , через форму , просто хреновейше сделана. Поэтому и "много забот" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:37 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSтак, иду по шагам: создавать таблички TableDefs научилась, добавлять в них поля тоже. Как теперь данные из SQL загрузить в эту таблицу? И еще вопрос - эти таблицы в списке объектов не должны появляться? Они как рекордсеты, получаются? А вот тут стоп. Нужно создавать "Связь с таблицами..." (у меня Access 2003 до сих пор). Там Access все сам сделает с полями и даже индекс уникальный поможет создать. С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:37 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, Вы имеете в виду связанные через ODBC таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:40 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSВы имеете в виду связанные через ODBC таблицы? Так точно. Других связанных я не знаю. Проще поробовать это сделать через интерфейс, а потом научиться программно. С уваженим, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:41 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, Так я про них знаю и даже использую немного. Но как мне их использовать для своих потребностей. Объясню немного саму суть системы: на сервере SQL хранятся все таблицы (они связаны, проиндексированы, нужные триггеры написаны...). Таблицы большие, поэтому все перенести на Access невозможно. У польозователей есть своя копия базы Access, которая содержить только формы и 0 данных. Пользователь выбирает в форме параметры, по которым он хочет отобрать данные с сервера, и запрос отправляется в SQL. Дальше все понятно, как у меня реализовано - результат SQL запроса присваивается рекордсету и на основании этого рекордсета открывается форма. Все изменения, вносимые в форму отправляются на сервер самостоятельно ( с помощью ADO и реализованного в Access механизма). Как мне перейти на связанные таблицы не очень понятно. Я так думаю, что Вы предлагаете связывать таблицу с view на sql. Но у всех же разные запросы будут. Для них разные view каждый раз создавать? Или View основывать на параметрах? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 12:51 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Сделано правильно. Данные в SQL, а приложение - в Access. VerochkaSТак я про них знаю и даже использую немного. Но как мне их использовать для своих потребностей. Прикрепил картинку. Связанная таблица не хранит данные в Access. Она только содержит инормацию об объекте в SQL Server'е. Данные можно редактировать. Они будут сразу появляться на сервере и будут видны другим пользователям. VerochkaSнужные триггеры написаны... Часто проблемы возникают именно из-за триггеров в SQL. Скорее из-за невозможности правильного определения в Access записи на сервере после завершения редактирования. VerochkaSКак мне перейти на связанные таблицы не очень понятно. Я так думаю, что Вы предлагаете связывать таблицу с view на sql. Но у всех же разные запросы будут. Для них разные view каждый раз создавать? Или View основывать на параметрах? Создайте пустую базу и просто создайте несколько связанных таблиц, потом создайте и сохраните запрос. Выполните его. Будет ли он редактируемым? С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 13:07 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
авторОднако, если перейти на эту строку с ошибками, что все данные появляются, а ошибка пропадает. А если попробовать resync adAffectCurrent на афтерапдате формы? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 13:27 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
2163П-ЛЕсли работать через рекордсеты, то надо брать на себя очень много забот. Аксес этого не любит. Его кредо - рекордсоурс. Если "на чистоту" - работа с АДО-рекордсетом (в особенности свободным) в Акцессе просто хреновейше сделана. Поэтому и "много забот" Павел Фурсов в свое время (2003-й год) столкнулся с проблемаи с фильтрами, сортировкой и определением выделенных записей (а не только текущей). можно на временном xml-файле, с форматом adPersistXML открывать рекордсет (а сам файл формировать как обычный текстовый) Тогда с встроенной сортировкой проблемы нет. И фильтр формы - те крашит Акцесс, правда и не работает тоже :) ROIпропущено... Да ну а я то их 15 лет пользуююю. Вот я дебил.с ДАО-рекордсетом? отвязанным/свободным?? похвастаешься ? :) Ты пост внимательно прочитай не RS а форма отвязанная/свободная.!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 13:44 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROIТы пост внимательно прочитай не RS а форма отвязанная/свободная.!!!! "свободная форма" - форма БЕЗ Рекордсета. Явно не случай ТС VerochkaSВ Access 2013 есть форма, основанная на рекордсете. А что такое "отвязанная форма"? И комментировал ты, как раз, мой пост про рекордсеты. Напоминаю: ROI2571... и нету в ДАО ни отвязанных, ни "синтетических" рекордсетов. Да ну а я то их 15 лет пользуююю. Вот я дебил. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 13:52 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, когда я начинала делать базу, так и делала, как Вы предлагаете. Но скорость работы с ODBC и с ADO абсолютно разная, тем более с большими объемами данных. Поэтому пришлось перейти на ADO. Я что-то сразу и не поняла, что Вы их имеете в виду ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 13:54 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
?????, тогда при копировании строки в новую строка сначала пропадает (пока новая строка активна), а как только перехожу с новой строки, то строка появляется и ошибка пропадает. Т.е. теперь не обязательно вставать на пропавшую строку. Спасибо. Это уже хорошо. Как прописать это функцию, чтобы она срабатывала сразу после вставки, а не при сохранении сроки? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:03 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Т.е., когда мы вставляем скопированные данные в новую строку (нажали CTRL+V), данные вставляются и строка еще активна (она редактируется). А как можно сразу программно сохранить то, что вставили? Функция "Вставить" в меню не отключена. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:06 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
на афтеринсерт????? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:07 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
0432ROIТы пост внимательно прочитай не RS а форма отвязанная/свободная.!!!! "свободная форма" - форма БЕЗ Рекордсета. Явно не случай ТС VerochkaSВ Access 2013 есть форма, основанная на рекордсете. А что такое "отвязанная форма"? И комментировал ты, как раз, мой пост про рекордсеты. Напоминаю: ROIпропущено... Да ну а я то их 15 лет пользуююю. Вот я дебил. >>А что такое "отвязанная форма"? тоже самое что и свободная (сори если ввел вас в заблуждения этим термином) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:15 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
?????, уже тоже попробовала - также срабатывает только при переходе со строки ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:15 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSкогда я начинала делать базу, так и делала, как Вы предлагаете. И кто же Вам сказал делать по другому? VerochkaSНо скорость работы с ODBC и с ADO абсолютно разная, тем более с большими объемами данных. Поэтому пришлось перейти на ADO. Я так не думаю. Access умеет (!) делать прямые запросы к серверу, используя информацию из связанных таблиц. Никаких проблем с производительностью быть не должно. Конечно, нужно видеть эти запросы, чтобы сравнивать их работу. Я использую обычно SQL Server Profiler. С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:16 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, я сравнивала 2 базы - на ODBC и на ADO. ADO значительно быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:20 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовVerochkaSкогда я начинала делать базу, так и делала, как Вы предлагаете. И кто же Вам сказал делать по другому? VerochkaSНо скорость работы с ODBC и с ADO абсолютно разная, тем более с большими объемами данных. Поэтому пришлось перейти на ADO. Я так не думаю. Access умеет (!) делать прямые запросы к серверу, используя информацию из связанных таблиц. Никаких проблем с производительностью быть не должно. Конечно, нужно видеть эти запросы, чтобы сравнивать их работу. Я использую обычно SQL Server Profiler. С уважением, Павел Я конечно дико извиняюсь!!!! Но скорость работы через связаные таблицы сиреч(ODBC) и ADO. Тема обсосана и разница на больших объемах данных - огромная.!!!! ТС прав!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:21 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, ADO рулит ODBC нервно курит И не надо разводить холивар. Поиск рулит!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:23 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSADO значительно быстрее Тогда будет интересно на каких операциях быстрее. Принципиальной разницы быть не должно, т.к. они работают с SQL Server'ом через курсоры и также выполняют запросы и получают данные. Значит что-то не так с кодом или интерфейсом было. Имею ввиду, что не оптимально. С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:25 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
А есть в наборе полей формы поле, источник которого - счетчик????? А что, если это поле убрать из формы, но в рекодсете, конечно, оставить????? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:48 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
?????, Да, такое поле есть. Убрала его - та же ситуация ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 14:57 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROIADO рулит ODBC нервно курит И не надо разводить холивар. Поиск рулит!!!! Спасибо, нашел интересную статью. Вот она: Choosing between DAO and ADO Оттуда цитата: Forms bound to ADO recordsets cannot use the following form-level properties: Filter, OrderBy, RecordSource, RecordCount, Bookmark Когда с столкнулся с реальными проблемами (приложение закрывалось), лучшим решением было не использовать ADO с формами. Исходя из этого, строил всю свою дальнейшую работу. И еще цитата: Though ADO was meant to replace DAO, Microsoft has since reversed the position and made DAO the blessed data access library for Access Microsoft поменяла свою отношение к DAO! В Access мы не работаем с ODBC напрямую (ODBC Direct запретили еще в Access 2007), а только через DAO или интерфейс Access. С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:28 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел Фурсов, Павел ФурсовОттуда цитата: Forms bound to ADO recordsets cannot use the following form-level properties: Filter, OrderBy, RecordSource, RecordCount, Bookmark Вообще-то сортировки и фильтры работают в таких формах ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:35 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Павел ФурсовROIADO рулит ODBC нервно курит И не надо разводить холивар. Поиск рулит!!!! Спасибо, нашел интересную статью. Вот она: Choosing between DAO and ADO Оттуда цитата: Forms bound to ADO recordsets cannot use the following form-level properties: Filter, OrderBy, RecordSource, RecordCount, Bookmark Когда с столкнулся с реальными проблемами (приложение закрывалось), лучшим решением было не использовать ADO с формами. Исходя из этого, строил всю свою дальнейшую работу. И еще цитата: Though ADO was meant to replace DAO, Microsoft has since reversed the position and made DAO the blessed data access library for Access Microsoft поменяла свою отношение к DAO! В Access мы не работаем с ODBC напрямую (ODBC Direct запретили еще в Access 2007), а только через DAO или интерфейс Access. С уважением, Павел Вы на дату статьи смотрели? Эта статья не актуальна >> Microsoft поменяла свою отношение к DAO! Нет не поменяла и везде советует использовать ADO. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:46 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSПавел Фурсов, Павел ФурсовОттуда цитата: пропущено... Вообще-то сортировки и фильтры работают в таких формах Никогда не сортируйте и не фильтруйте на форме. только на РекрдСет а потом подсовывайте форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:48 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROI, Правильно. Вы перехватываете установку пользователем фильтра на форме и переделываете на фильтр рекордсета. Я так и делаю ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 15:57 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSДобрый день. В Access 2013 есть форма, основанная на рекордсете. Данные загружаются с сервера SQL. Если в форме скопировать одну строку и вставить ее в пустую, то строка корректно вставится, но в предыдущей строке некоторые данные пропадают, а в остальных появляется ошибка #Error. Однако, если перейти на эту строку с ошибками, что все данные появляются, а ошибка пропадает. В чем может быть причина ошибки и как ее решить? Заранее всем спасибо! Уважаемы ТС хочю чтоб вы подтвердили мы это обсуждаем, а то мне кажется что мы все сьехали с темы. Если в котнтроле появляется #Error то это означает контрол почемута потерял источник данных. А вот почему это вопрос. Может конект временно прикрылся или есче чего. И ответте всё таки вы чем работаете ADO DAO ODBC. С уважением... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:04 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSВообще-то сортировки и фильтры работают в таких формах Давно это было. Вначале в интерфейсе: Фильтр по выделенному фрагменту. Потом нужно: Выделить несколько строк (не все) и к ним применить действие. Другими словами выполнить групповую операцию. Для этого в коде: Определить выделение, пройтись по выделенным строкам, записать в таблицу или массив ключевые поля. Дальше пока не надо. Отменить фильтр. Будет ли ошибка. С уважением, Павел ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:04 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ROI, На ADO. в теме написано и в нескольких сообщениях я это уже написала ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:28 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaS Код: vbnet 1. 2. 3. 4. 5.
хотелось бы увидеть какого тип эти запросы, что они выбирают зачем потребовалось дублировать запись, на еще в ручную ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2015, 16:39 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Возникла такая идея - к рекордсету, на котором основана форма, добавить столбец CheckBox, но он не будет тянуться из базы, а будет специально созданным. В форме этот столбец будет полем с галочками (тип CheckBox). Пользователь будет галочками выбирать, какие строки скопировать, нажимать кнопку и по кнопке макрос уже скопирует нужные строки. Можно ли так сделать? Пыталась в запрос добавить левое поле (например, Select 1 as 'checkbox'), тогда поле добавляется нередактируемое. Если просто добавить и не основываться на рекордсете, то при установки галочки для 1 поля галочка ставится для всех. Можно ли что-нибудь подобное реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 16:09 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaS, наверняка добавила бы поле а таблицу на форме же ввела --кнопку --сброс галочек --любое количество запросов --показ установленных галочек и вывод в отчет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 17:17 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, в таблицу добавить не могу - одни и те же строки могут одновременно отрывать несколько пользователей. Один поставит галочку, другой уберет, и получится ерунда ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 17:21 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSПЕНСИОНЕРКА, в таблицу добавить не могу - одни и те же строки могут одновременно отрывать несколько пользователей. Один поставит галочку, другой уберет, и получится ерунда какова у вас структура базы --одна общая с данными --у каждого пользователя --своя с формами и рабочей таблицей для отбора ------- или что то другое ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 18:07 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaS, рабочей таблицей для отбора со структурой --ид --идКлиент --идКвартира --ранг предпочтения по 5-бальной системе ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 18:09 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSВозникла такая идея - к рекордсету, на котором основана форма, добавить столбец CheckBox, но он не будет тянуться из базы, а будет специально созданным. В форме этот столбец будет полем с галочками (тип CheckBox). Пользователь будет галочками выбирать, какие строки скопировать, нажимать кнопку и по кнопке макрос уже скопирует нужные строки. Можно ли так сделать?Посмотрите это 3335051 . Не пугайтесь, там в формате Ac97 - преобразуйте в свой. Еще как возможный вариант: - у каждого пользователя своя служебная таблица с двумя полями - ключ из основной и логическое поле (флажок), - сделать INNER JOIN основной и служебной, выводя флажок. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2015, 18:23 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
__Michelle, __MichelleЕще как возможный вариант: - у каждого пользователя своя служебная таблица с двумя полями - ключ из основной и логическое поле (флажок), - сделать INNER JOIN основной и служебной, выводя флажок. Отличная идея! Первый вариант тоже буду изучать. Спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2015, 11:06 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
__Michelle, Первый вариант сработал! Конечно, еще нужно доделать использование этой коллекции, но хотя бы барьер с установкой галочек пройден. Единственное, так как Access ругается на то, что столбец нередактируемый, то появляется звук ошибки. Можно ли его убрать? Хотя это уже не критично. Спасибо огромное! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2015, 12:47 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Не совсем по теме, но пример для коллекции, хотя и без коллекции ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2015, 20:20 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
VerochkaSПавел Фурсов, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Убрала лишнее, чтобы не засорять код ИМХО: 1 .CursorLocation = adUseClient попробуйте серверный курсор 2 Рекорд сет тоже желательно открывать с серверным курсором 3 rs.Open cmd, , adOpenStatic, почему набор данных статический ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2015, 07:29 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
А у меня ADODB в 2013 акцессе вообще не распознает. В чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2016, 05:15 |
|
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
|
|||
---|---|---|---|
#18+
Извиняюсь за некропостинг Забыл поставить референс. Для тех кто столкнется с такой же проблемой - в окне Microsoft Visual Basic - меню Tools/References поставить галку на Microsoft AktiveX Data Objects 6.0 (или другую версию) Library ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2016, 05:38 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1613150]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
222ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
96ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 705ms |
0 / 0 |