Имя: Пароль:
1C
1C 7.7
v7: Есть знатоки Microsoft Access ?
,
0 mista2012-09-11
 
27.09.12
12:11
Собственно вот так из 1с  работаю с ораклой
   MySession = CreateObject("OracleInProcServer.XOraSession");
   Base = MySession.OpenDatabase(SID, Login + "/" + Password, 0);
   
   Clients = Base.CreateDynaset("select * from v_ecfil139 n139 WHERE  To_Char(n139.DATE_TRN,'dd.mm.yy') = ('"+ ДатаОтчета +"')",0);
   
   Пока Clients.EOF = 0 Цикл
       ПосЕМИТ   = Clients.Fields("EMITENT_OWNER_TERMINAL").Value;
       ПОСимя    = Clients.Fields("EMITENT_OWNER_TERMINAL").Value;    //потому что его там нету
       КлиентИД  = Clients.Fields("ID_CLIENT").Value;
       ТопливоИД  =Clients.Fields("ID_SERVICES_FOR_WHAT").Value;
       Количество =Clients.Fields("SUM_FOR_WHAT").Value;
       Цена       =Clients.Fields("PRICE_RECALCULATION").Value;  
       Сумма      =Clients.Fields("SUM_THAN_REAL").Value;
       Clients.MoveNext();
   КонецЦикла;

и все бы ничего, но есть СРМ на этом аксессе и надо чтобы от туда вызвать ораклу - как это сделать? Не подскажите?
1 mista2012-09-11
 
27.09.12
12:15
упс немного не корректно нарисовал:

       ПосЕМИТ   = Clients.Fields("EMITENT_OWNER_TERMINAL").Value;
       ПОСимя    = Clients.Fields("EMITENT_OWNER_TERMINAL").Value;    //потому что его там нету
       КлиентИД  = Clients.Fields("ID_CLIENT").Value;
       ТопливоИД  =Clients.Fields("ID_SERVICES_FOR_WHAT").Value;
       Количество =Clients.Fields("SUM_FOR_WHAT").Value;
       Цена       =Clients.Fields("PRICE_RECALCULATION").Value;  
       Сумма      =Clients.Fields("SUM_THAN_REAL").Value;
       
       ЦенаСтэлла =Clients.Fields("PRICE_TERMINAL").Value;            //***************************ШО
       
       
       
       
       
       ТД.НоваяСтрока();
       
       ТД.Дата  = ДатаОтчета;
       ТД.Склад = ПОСимя;      //**********************************************************
       ТД.СкладЕмит = ПосЕМИТ;
       
       ТД.КодОсн=КлиентИД;     //*** ПРЕОБРАЗОВАТЬ
       ТД.КодТов=ТопливоИД;    //*** ПРЕОБРАЗОВАТЬ
       ТД.Объем=Количество;    //***
       ТД.Сумма=Сумма;         //***  
       
       ТД.Цена = Цена;
   
   
   

       Clients.MoveNext();
   КонецЦикла;
2 mista2012-09-11
 
27.09.12
12:21
up
3 Bugmenot
 
27.09.12
12:39
переведи код в VBA
4 zladenuw
 
27.09.12
12:40
я читал так

Connection=Новый COMОбъект("ADODB.Connection");
   Connection.Open("Driver={Microsoft Access Driver (*.mdb)};Dbq=" + мВыбФайл + ";""");
   
   
   Command = Новый COMОбъект("ADODB.Command");
   Command.ActiveConnection = Connection;
   Command.CommandText = "Select * from catalog";
   Command.CommandType = 1;
   RecordSet = Новый COMОбъект("ADODB.RecordSet");
   RecordSet = Command.Execute();
5 mista2012-09-11
 
27.09.12
12:42
(4) Спасибо , сейчас попробую
6 mista2012-09-11
 
27.09.12
12:43
Стоп, а где пароли (SID, Login , Password) ???
7 zladenuw
 
27.09.12
12:46
8 774816
 
27.09.12
12:51
(7) Ado.net ему не поможет
(6) Access по умолчанию не требует пароля, но если хочешь запаролить тогда установит его в самой бд ацесса. и в строке подключения добавь
Driver={Microsoft Access Driver (*.mdb)};Dbq=;Uid=Admin;Pwd=;
9 zladenuw
 
27.09.12
12:57
(8) там вообще примеры. как выставить пароли.
10 mista2012-09-11
 
28.09.12
14:07
(4) Это как работать в восьмерке с акцессом - я про другое вообщето спрашиваю: как из акцесса работать с ораклой - не из 1с.
11 mista2012-09-11
 
28.09.12
14:08
забудьте на минуту про 1с - нужны спецы по VB и акцессу.
12 МихаилМ
 
28.09.12
14:09
(11)
зачем тогда в теме указали v7 ? если "не из 1с"
13 shuhard
 
28.09.12
14:09
(10) а нет в VBA с этим проблем
ставишь галку в Пеференцах у нужной АктивХ и фигачишь