Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Связываение таблиц MS SQL 2000 c AccessXP
 
 автор: Oldman   (23.01.2007 в 14:55)   личное сообщение
 
 

В статье
http://hiprog.com/index.php?option=com_content&task=view&id=251661555&Itemid=35

очень подробно описано, как связать таблицы двух БД Access.
А как тот же трюк проделать с субж?
Пытался делать так на Дельфи
procedure TfSdachaAdd.LinkTables(ConnectStr: String);
var
TableNames: TStrings;
i,s:Integer;
tabl, cat: OLEVariant;

begin
cat:=CreateOleObject('ADOX.Catalog');
tabl:=CreateOleObject('ADOX.Table');
cat.ActiveConnection:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DCTempConnStr;
tabl.ParentCatalog:=cat;
tabl.Name:='work_T_Deliveri_Bill';
tabl.Properties['Jet OLEDB:Link Provider String'].Value:='DSN=PRODUCTIVE;APP=Microsoft Office 2003;WSID=1715W;DATABASE=WORK;AutoTranslate=No;Trusted_Connection=Yes';
tabl.Properties['Jet OLEDB:Remote Table Name'].Value:='tech.T_Deliveri_Bill';
tabl.Properties['Jet OLEDB:Create Link'].Value:=True;
cat.Tables.Append(tabl);
....
,
но на строке cat.Tables.Append(tabl); подучал ошибку, что MicrosoftJet не может определить сервер ISAM...
Замена tabl.Properties['Jet OLEDB:Link Provider String'].Value на tabl.Properties['ODBC OLEDB:Link Provider String'].Value ни к чему, кроме ошибки не привели.

Что делать? Руками из БД - никаких проблем, программно - болт!!!

  Ответить  
 
 автор: osmor   (24.01.2007 в 09:03)   личное сообщение
 
 

я так поянл вопрос снят?

  Ответить  
 
 автор: Oldman   (25.01.2007 в 15:57)   личное сообщение
 
 

Да, спасибо там все просто оказалось:

tabl:=CreateOleObject('ADOX.Table');
tabl.ParentCatalog:=cat;
tabl.Name:='work_T_Delivery_Bill';
tabl.Properties['Jet OLEDB:Link Provider String'].Value:='ODBC;Driver={SQL Server};DATABASE=WORK;'
+'SERVER='+MainForm.Serv+';Trusted_Connection=Yes;';
//'ODBC;DSN=PRODUCTIVE;DATABASE=WORK;Trusted_Connection=Yes;'; Можно и так...
tabl.Properties['Jet OLEDB:Remote Table Name'].Value:='tech.T_Delivery_Bill';
tabl.Properties['Jet OLEDB:Create Link'].Value:=True;
cat.Tables.Append(tabl);
tabl:=NULL;

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList