Каталог решений - КАК записать данные в файл access (*.mdb)

КАК записать данные в файл access (*.mdb)

КАК записать данные в файл access (*.mdb)

В наличии

Как осуществить запись в файлы базы Access

Категория:

Описание

Столкнулся с такой проблемой: есть обработки по выгрузке данных из 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 это вроде как режим по умолчанию. Если кому то пригодится эта статья, буду очень рад, не тратьте время пользуйтесь.

has been added to your cart:
Оформление заказа