powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
23 сообщений из 73, страница 3 из 3
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993752
?????
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А есть в наборе полей формы поле, источник которого - счетчик?????
А что, если это поле убрать из формы, но в рекодсете, конечно, оставить?????
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993770
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
?????,

Да, такое поле есть. Убрала его - та же ситуация
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993823
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.

С уважением, Павел
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993832
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Фурсов,
Павел ФурсовОттуда цитата:
Forms bound to ADO recordsets cannot use the following form-level properties: Filter, OrderBy, RecordSource, RecordCount, Bookmark

Вообще-то сортировки и фильтры работают в таких формах
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993857
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Фурсов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.
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993860
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaSПавел Фурсов,
Павел ФурсовОттуда цитата:
пропущено...


Вообще-то сортировки и фильтры работают в таких формах
Никогда не сортируйте и не фильтруйте на форме.
только на РекрдСет а потом подсовывайте форме.
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993876
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,

Правильно. Вы перехватываете установку пользователем фильтра на форме и переделываете на фильтр рекордсета.
Я так и делаю
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993889
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaSДобрый день.

В Access 2013 есть форма, основанная на рекордсете. Данные загружаются с сервера SQL.
Если в форме скопировать одну строку и вставить ее в пустую, то строка корректно вставится, но в предыдущей строке некоторые данные пропадают, а в остальных появляется ошибка #Error. Однако, если перейти на эту строку с ошибками, что все данные появляются, а ошибка пропадает.

В чем может быть причина ошибки и как ее решить?

Заранее всем спасибо!
Уважаемы ТС хочю чтоб вы подтвердили мы это обсуждаем,
а то мне кажется что мы все сьехали с темы.
Если в котнтроле появляется #Error то это означает контрол почемута потерял источник данных.
А вот почему это вопрос.
Может конект временно прикрылся или есче чего.
И ответте всё таки вы чем работаете ADO DAO ODBC.
С уважением...
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993890
VerochkaSВообще-то сортировки и фильтры работают в таких формах
Давно это было.
Вначале в интерфейсе:
Фильтр по выделенному фрагменту.
Потом нужно:
Выделить несколько строк (не все) и к ним применить действие. Другими словами выполнить групповую операцию.
Для этого в коде:
Определить выделение, пройтись по выделенным строкам, записать в таблицу или массив ключевые поля. Дальше пока не надо.
Отменить фильтр.
Будет ли ошибка.

С уважением, Павел
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993944
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,

На ADO. в теме написано и в нескольких сообщениях я это уже написала
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38993975
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaS
Код: vbnet
1.
2.
3.
4.
5.
If Me![MyOrMappingRecords] = 1 Then
        sqlquery = "SELECT 1"
    Else
        sqlquery = "SELECT 2"
    End If



хотелось бы увидеть какого тип эти запросы, что они выбирают
зачем потребовалось дублировать запись, на еще в ручную
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994301
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла такая идея - к рекордсету, на котором основана форма, добавить столбец CheckBox, но он не будет тянуться из базы, а будет специально созданным. В форме этот столбец будет полем с галочками (тип CheckBox). Пользователь будет галочками выбирать, какие строки скопировать, нажимать кнопку и по кнопке макрос уже скопирует нужные строки.

Можно ли так сделать?

Пыталась в запрос добавить левое поле (например, Select 1 as 'checkbox'), тогда поле добавляется нередактируемое.
Если просто добавить и не основываться на рекордсете, то при установки галочки для 1 поля галочка ставится для всех.

Можно ли что-нибудь подобное реализовать?
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994314
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaS,

наверняка добавила бы поле а таблицу

на форме же ввела
--кнопку --сброс галочек
--любое количество запросов
--показ установленных галочек и вывод в отчет
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994318
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

в таблицу добавить не могу - одни и те же строки могут одновременно отрывать несколько пользователей. Один поставит галочку, другой уберет, и получится ерунда
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994323
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaSПЕНСИОНЕРКА,

в таблицу добавить не могу - одни и те же строки могут одновременно отрывать несколько пользователей. Один поставит галочку, другой уберет, и получится ерунда
какова у вас структура базы
--одна общая с данными
--у каждого пользователя --своя с формами и рабочей таблицей для отбора

-------
или что то другое
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994324
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaS,

рабочей таблицей для отбора со структурой
--ид
--идКлиент
--идКвартира
--ранг предпочтения по 5-бальной системе
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994329
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VerochkaSВозникла такая идея - к рекордсету, на котором основана форма, добавить столбец CheckBox, но он не будет тянуться из базы, а будет специально созданным. В форме этот столбец будет полем с галочками (тип CheckBox). Пользователь будет галочками выбирать, какие строки скопировать, нажимать кнопку и по кнопке макрос уже скопирует нужные строки.

Можно ли так сделать?Посмотрите это 3335051 .
Не пугайтесь, там в формате Ac97 - преобразуйте в свой.

Еще как возможный вариант:
- у каждого пользователя своя служебная таблица с двумя полями - ключ из основной и логическое поле (флажок),
- сделать INNER JOIN основной и служебной, выводя флажок.
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994458
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

__MichelleЕще как возможный вариант:
- у каждого пользователя своя служебная таблица с двумя полями - ключ из основной и логическое поле (флажок),
- сделать INNER JOIN основной и служебной, выводя флажок.

Отличная идея!

Первый вариант тоже буду изучать.

Спасибо большое!
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994480
VerochkaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Первый вариант сработал! Конечно, еще нужно доделать использование этой коллекции, но хотя бы барьер с установкой галочек пройден. Единственное, так как Access ругается на то, что столбец нередактируемый, то появляется звук ошибки. Можно ли его убрать? Хотя это уже не критично.

Спасибо огромное!
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994575
?????
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем по теме, но пример для коллекции, хотя и без коллекции
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #38994643
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim cmd As ADODB.Command
    
    Set cn = New ADODB.Connection
    
    With cn
       .ConnectionString = "PROVIDER=SQLOLEDB;DATA SOURCE=servername;Initial Catalog=Accruals;UID=user;Password=123"
       .CursorLocation = adUseClient
       .Open
    End With
    
    Set cmd = New ADODB.Command
    Set rs = New ADODB.Recordset
    
    If Me![MyOrMappingRecords] = 1 Then
        sqlquery = "SELECT 1"
    Else
        sqlquery = "SELECT 2"
    End If

    With cmd
        .ActiveConnection = cn
        .CommandText = sqlquery
    End With
    
    rs.Open cmd, , adOpenStatic, adLockOptimistic
    
    DoCmd.OpenForm "dbo_Accruals", acNormal, , , acFormEdit, acHidden
    Set Forms!dbo_Accruals.Recordset = rs   
    DoCmd.OpenForm "dbo_Accruals", acFormDS, , , acFormEdit, acWindowNormal




Убрала лишнее, чтобы не засорять код

ИМХО:
1 .CursorLocation = adUseClient
попробуйте серверный курсор
2 Рекорд сет тоже желательно открывать с серверным курсором
3 rs.Open cmd, , adOpenStatic,
почему набор данных статический ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #39309963
Decabrist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А у меня ADODB в 2013 акцессе вообще не распознает. В чем проблема?
...
Рейтинг: 0 / 0
Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
    #39309964
Decabrist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь за некропостинг
Забыл поставить референс.
Для тех кто столкнется с такой же проблемой - в окне Microsoft Visual Basic - меню Tools/References
поставить галку на Microsoft AktiveX Data Objects 6.0 (или другую версию) Library
...
Рейтинг: 0 / 0
23 сообщений из 73, страница 3 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка #Error в форме, основанной на ADO рекордсете, в Access 2013
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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