Microsoft ACE OLEDB 12.0. Нужно ДОписывать в *.xlsx. Ошибка 'Только для чтения' #747982


#0 by aka AMIGO
Дозапись - после конца файла Код: Ошибка: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (AddNew)         MyRst.AddNew; по причине: Произошла исключительная ситуация (Microsoft Office Access Database Engine): Cannot update.  Database or object is read-only. Файл существует, я в него пишу вручную. В свойствах - не RO. Как открыть этот файл для записи?
#1 by Casey1984
Глянь MyRst.LockType, если 1 то ReadOnly.
#2 by Casey1984
Хотя по коду ты 3 ставишь(
#3 by aka AMIGO
да, значение 3
#4 by Бубка Гоп
глянь что в MyRst.CursorLocation перед выполнением MyRst.AddNew; ну и INSERT-ом попробуй запись добавить ради чистоты эксперимента
#5 by aka AMIGO
вот тут есть режим Прова Mode, может его попробовать.. Минуточку..
#6 by aka AMIGO
возвращает 2
#7 by Casey1984
в примере от MS CursorType = 1 (adOpenKeyset), ненаю как связано с записью.
#8 by Бубка Гоп
стало быть курсор движется. Если INSERT сможет добавить запись - значит надо копать свойства RecordSet, если нет - свойства подключения ADODB/права на файл
#9 by Бубка Гоп
вот тут говорят таки Mode надо присвоить ReadWrite
#10 by Бубка Гоп
и еще один момент, емнип, в CursorLocation должно быть "на клиенте" (не помню какое это значение)
#11 by aka AMIGO
у меня уже стояло MyCon.Mode ="adModeReadWrite"; //чтение и запись всё равно бесславный конец..
#12 by aka AMIGO
INSERT - не знаю как вставлять.. :(( где-ж и как эти права выставляются?
#13 by aka AMIGO
вычитал еще вот тут: >>Свойство ConnectionString доступно для записи только для закрытого соединения. Многочисленные примеры различных строк подключения для различных типов баз данных вы можете найти в Интернете или в документации к соответствующим программным продуктам.<< первое предложение - радует, а второе убивает всю радость :)
#14 by Бубка Гоп
CursorLacation присвой 3 до открытия RecordSet
#15 by Бубка Гоп
имеется ввиду что тот же Mode, как и другие параметры, необходимо указывать до открытия соединения. то же можно отнести и к RecordSet
#16 by aka AMIGO
прокатило! теперь новое дело.. Вроде присвоилось значение ячейке, но.. но: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (Update)         MyRst.Update; по причине: Произошла исключительная ситуация (Microsoft Office Access Database Engine): Operation must use an updateable query. блин..
#17 by aka AMIGO
ЗЫ. как-же плохо без Excel"я.. что-ж это за   ? Попытаюсь найти в инете.. Пока вот:
#18 by aka AMIGO
кстати, не это-ли причина?
#19 by aka AMIGO
последняя строка - мои права на компе
#20 by aka AMIGO
+ нет.. добавил прав на файл, ошибка осталась..
#21 by aka AMIGO
вот что в отладчике.. Интересная последняя строка: Не это=ли причина, и как её устранить?
#22 by Casey1984
так все правильно вроде: adEditAdd = 2:      Indicates that the AddNew method has been called, and the current record in the copy buffer is a new record that has not been saved in the database.
#23 by Casey1984
#24 by aka AMIGO
понятно :)
#25 by lEvGl
запросом обновить, интересно, не получится..
#26 by Serginio1
Так работает. Правда через запрос
#27 by Serginio1
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С