Имя: Пароль:
1C
 
Пример работы с dbf через ADODB
Ø
0 JUJO2
 
07.06.05
13:01
Киньте плз пример работы с dbf-файлами (чтение и запись) через ADODB.
XBase - не предлагать.
Зачем надо? - снимается ограничение 8+3.
Всем спасибо!
1 SKrin
 
07.06.05
13:08
2 JUJO2
 
07.06.05
13:58
дык там для mdb, а мне надо dbf
3 JUJO2
 
08.06.05
07:55
UP
4 nicxxx
 
08.06.05
08:19
  DBFConnection = СоздатьОбъект("ADODB.Connection");
  DBFConnection.Open("Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=""Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB="+КаталогИБ()+";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;""");
  cmd = CreateObject("ADODB.Command");
  Cmd.ActiveConnection = DBFConnection;
  
  ТекстЗапроса = "
  |SELECT
  | *
  |FROM
  | SC84
  | left join SC319 on SC319.PARENTEXT=SC84.ID
  |
  |";
  
  //left join SC319 on SC319.PARENTEXT=SC84.ID
  
  Cmd.CommandText = ТекстЗапроса;
  Rs = Cmd.Execute();
  Если (Rs.BOF()=0) и (Rs.EOF()=0) Тогда
    Пока Rs.EOF()=0 Цикл
      Сообщить(Rs.Fields("DESCR").Value);
      Rs.MoveNext();
    КонецЦикла;
    Rs.Close();
  КонецЕсли;
5 SKrin
 
08.06.05
09:19
(2) тотже х..н, тока сбоку
6 SKrin
 
08.06.05
09:21
через акцесс удобней запросы писать
7 Valera
 
08.06.05
10:39
Можно подключаться и так:
oConn=CreateObject("ADODB.Connection");
oConn.ConnectionString="Provider=vfpoledb.1;data source="+КаталогИБ()+";";
Если что - скачай последнюю версию с сайта http://download.microsoft.com/download/b/f/b/bfbfa4b8-7f91-4649-8dab-9a6476360365/vfpoledb.exe
8 Valera
 
08.06.05
10:41
Вот пример (не помню чей, но рабочий - только что проверил)
oConn=CreateObject("ADODB.Connection");
  oConn.ConnectionString="Provider=vfpoledb.1;data source="+КаталогИБ()+";";
  //"Driver={Microsoft Visual FoxPro Driver};"
  oConn.CursorLocation=3; // client side
  oConn.Mode=3; // adModeReadWrite
  oConn.Open();
  oConn.Execute("create table test.dbf (SalesID c(20), SaleName C(50))");
  //Загрузка тестовой таблицы
  Спр=СоздатьОбъект("Справочник.Клиенты");
  Спр.ВыбратьЭлементы();
  Пока Спр.ПолучитьЭлемент()=1 Цикл
    oConn.Execute("insert into test.dbf (SalesId,SaleName) values ('"+Строка(Спр.ТекущийЭлемент().Имя)+"','"+Строка(Спр.ТекущийЭлемент().Наименование)+"')");
    Пока oConn.State=4 Цикл
      // adStateExecuting
    КонецЦикла;
  КонецЦикла;
  //Загрузка завершена...начинаем извращаться
  oConn.Execute("Select * from test.dbf into table result.dbf where test.SaleName Like 'Ан%'");
  //Наслаждаемся результатом в таблице Result