欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

access中鏈接表的問(wèn)題

 更新時(shí)間:2006年10月13日 00:00:00   作者:  
一個(gè)使用asp和mdb的站點(diǎn),某個(gè)mdb中使用了鏈接表,鏈接到當(dāng)前目錄的另一個(gè)mdb中的表,這樣可以達(dá)到數(shù)據(jù)共享。  
faq-it.org/delphi_win_sdk/問(wèn)題來(lái)了,當(dāng)將網(wǎng)站發(fā)布到網(wǎng)站的時(shí)候,因?yàn)榫W(wǎng)上空間路徑和我本機(jī)不同,所以鏈接表失敗,網(wǎng)頁(yè)當(dāng)然也不能打開(kāi)。  
我覺(jué)得解決辦法有:  
一種,在本機(jī)上創(chuàng)建與網(wǎng)上空間完全相同的目錄結(jié)構(gòu)。但這很麻煩,特別是經(jīng)常要換網(wǎng)站的話。  
一種,如何讓鏈接表使用相對(duì)路徑,就是鏈接到當(dāng)前目錄下的那個(gè)mdb文件?(對(duì)了,access很弱智,鏈接表記錄的是絕對(duì)路徑)。  
還一種,如何通過(guò)編程(asp  或者本地vba)來(lái)實(shí)現(xiàn)對(duì)鏈接表的鏈接的修改?(又對(duì)了,access還是弱智,更新鏈接表我只能使用手工更新,一定要找到那個(gè)路徑下的mdb才行!可本地路徑和網(wǎng)上不一樣呀)  

誰(shuí)能告訴我如何實(shí)現(xiàn)上面的后兩種方法?  

---------------------------------------------------------------  

以下是我自己在用的adox代碼,只為了證明我說(shuō)的access有此功能(說(shuō)句不好聽(tīng)的:這關(guān)access  p事???這是ado模型該解決的問(wèn)題。而且你也提錯(cuò)地方了,提到asp那一塊更合適),做access編程的都應(yīng)該看得懂,如果你看不懂我也只能說(shuō)遺憾了。  

Public  Function  NewLinkedExternalTableMdb()  
       Dim  strTargetDB()  As  String  
       Dim  strProviderString()  As  String  
       Dim  strSourceTbl()  As  String  
       Dim  strLinkTblName()  As  String  
       Dim  catDB  As  ADOX.Catalog  
       Dim  tblLink  As  ADOX.Table  
       Dim  tmpLink  As  ADOX.Table  
       Dim  i  As  Integer  
       Dim  j  As  Integer  
       Set  catDB  =  New  ADOX.Catalog  
       catDB.ActiveConnection  =  CurrentProject.Connection  
       i  =  catDB.Tables.Count  
       ReDim  strTargetDB(i)  
       ReDim  strProviderString(i)  
       ReDim  strSourceTbl(i)  
       ReDim  strLinkTblName(i)  
       i  =  1  
       For  Each  tmpLink  In  catDB.Tables  
               If  tmpLink.Properties("Jet  OLEDB:Create  Link")  Then  
                       If  Trim(tmpLink.Properties("Jet  OLEDB:Remote  Table  Name"))  <>  ""  Then  
                               strLinkTblName(i)  =  tmpLink.Name  
                               strTargetDB(i)  =  tmpLink.Properties("Jet  OLEDB:Link  Datasource")  
                               strProviderString(i)  =  tmpLink.Properties("Jet  OLEDB:Link  Provider  String")  
                               strSourceTbl(i)  =  tmpLink.Properties("Jet  OLEDB:Remote  Table  Name")  
                               Do  While  InStr(1,  strTargetDB(i),  "/")  <>  0  
                                       strTargetDB(i)  =  Mid(strTargetDB(i),  InStr(1,  strTargetDB(i),  "/")  +  1,  Len(strTargetDB(i)))  
                               Loop  
                               strTargetDB(i)  =  CurrentProject.Path  &  "/"  &  strTargetDB(i)  
                               i  =  i  +  1  
                       End  If  
               End  If  

       Next  
       j  =  i  -  1  
       For  i  =  1  To  j  
               catDB.Tables.Delete  strLinkTblName(i)  
               Set  tblLink  =  New  ADOX.Table  
               With  tblLink  
                       .Name  =  strLinkTblName(i)  
                       Set  .ParentCatalog  =  catDB  
                       .Properties("Jet  OLEDB:Create  Link")  =  True  
                       .Properties("Jet  OLEDB:Link  Datasource")  =  strTargetDB(i)  
                       .Properties("Jet  OLEDB:Link  Provider  String")  =  strProviderString(i)  
                       .Properties("Jet  OLEDB:Remote  Table  Name")  =  strSourceTbl(i)  
               End  With  
               catDB.Tables.Append  tblLink  
               Set  tblLink  =  Nothing  
       Next  
       Set  catDB  =  Nothing  
End  Function   
 

相關(guān)文章

最新評(píng)論