2
Охламон
12.10.04
✎
22:38
|
Мой вариант: берешь bdbfs - досовская версия свободная, и меняешь структуру полей в базе на текстовые, длинной этак 200... ну или на сколько тебе нудно, что б данные влезли, сохраняешь, получаешь файл побольше, но читаемый. Естественно, способ не динамический, но для импорта вполне сносный.
|
|
3
romix
13.10.04
✎
17:40
|
Есть еще вариант - через ADO:
//*******************************************
Процедура Сформировать()
//РАБОТА С ФАЙЛАМИ DBF ЧЕРЕЗ ADO
Path="c:\"; //Путь к папке с файлами DBF
//Стираем файл, если он уже существует
Если фс.СуществуетФайл("c:\persons.dbf")=1 Тогда
фс.УдалитьФайл("c:\persons.dbf");
КонецЕсли;
//******* ПРИМЕР ЗАПИСИ DBF *******//
//Открываем соединение
DBConn = CreateObject("ADODB.Connection");
DBConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Path + ";" +
"Extended Properties=""DBASE IV;"";");
//Создаем новый DBF и задаем его колонки
DBConn.Execute("Create Table Persons (Name char(50), City char(50), Phone char(20), Zip decimal(5))");
//Пишем строки в наш DBF
DBConn.Execute("Insert into Persons Values('Иванов И.И.', 'Москва','123-45-67','14589')");
DBConn.Execute("Insert into Persons Values('Поляков С.Л.', 'Москва','333-44-55','38215')");
DBConn.Execute("Insert into Persons Values('Сидоров С.С.', 'Москва','222-33-44','54323')");
//******* ПРИМЕР ЧТЕНИЯ DBF *******//
//Делаем выборку
Persons = DBConn.Execute("Select * from [Persons#DBF]");
Пока Persons.EOF=0 Цикл //Цикл по записям DBF
Имя= Persons.Fields("Name").value;
Город= Persons.Fields("City").value;
Телефон=Persons.Fields("Phone").value;
Zip= Persons.Fields("Zip").value;
Сообщить("Имя="+Имя+" Город="+Город+" Телефон="+Телефон+" Zip="+Zip);
Persons.MoveNext(); //Переходим к след. записи DBF
КонецЦикла;
DBConn.Close(); //Закрываем соединение
КонецПроцедуры
|
|