Столкнулся с такой проблемой: есть обработки по выгрузке данных из Access, а вот по добавлению данных в файлы mdb так ничего путевого и не выискал поэтому стал разбираться. Задача встала следующая у организации зарплатный проект в банке и информация для банка должна забиваться в файл базы Access, ну и конечно никто ручками из 1С перебивать все в базу не собирается. Вроде почти во всем разобрался, но осталась единственная проблема - запись добавляется, но в базе не сохраняется.
Если кто сталкивался и знает, в чем ошибка, просьба подсказать. Сам код ниже:
СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Путь + ";""";
Connection = Новый COMОбъект("ADODB.Connection");
Попытка
Connection.Open(СтрокаПодключения);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
//команда в принципе не понадобилась
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
Command.CommandText = "SELECT * FROM ZAO_UCB";
Command.CommandType = 1;
rs = Новый COMОбъект("ADODB.RecordSet");
strSQL = "ZAO_UCB";
//а здесь как раз открываем наши recordset
rs.Open(strSQL,СтрокаПодключения,0,4);
// переборка записей базы так посмотреть что все доступно
Пока rs.EOF() = 0 Цикл
rs.MoveNext();
КонецЦикла;
// при добавлении записи вроде проблем не возникло - в отладчике запись добавилась в базу
rs.AddNew();
// присвоение значений полям
Для Каждого KL Из rs.Fields Цикл
Если KL.Name = "VISAELC" Тогда
KL.Value = 1;
ИначеЕсли KL.Name = "CURRACC" Тогда
KL.Value = 0;
ИначеЕсли KL.Name = "CORPNUM" Тогда
KL.Value = "12345";
ИначеЕсли KL.Name = "CITIZENS" Тогда
KL.Value = "Российская Федерация";
ИначеЕсли KL.Name = "ACCRUR" Тогда
KL.Value = 1;
КонецЕсли;
КонецЦикла;
// запомним запись и тут вроде все нормально запись есть
rs.Update();
rs.Close();
Connection.Close();
И после всего это при открытии базы в Access записи как не бывало. В чем загвоздка не пойму.
Все заработало, когда в строке rs.Open(strSQL,СтрокаПодключения,0,4); изменил 4 на 2. Это режим в котором открывается база и видимо при 2 запись возможна, хотя 4 это вроде как режим по умолчанию. Если кому то пригодится эта статья, буду очень рад, не тратьте время пользуйтесь.