手机
当前位置:查字典教程网 >编程开发 >ASP教程 >access中链接表的问题
access中链接表的问题
摘要:一个使用asp和mdb的站点,某个mdb中使用了链接表,链接到当前目录的另一个mdb中的表,这样可以达到数据共享。faq-it.org/de...

一个使用asp和mdb的站点,某个mdb中使用了链接表,链接到当前目录的另一个mdb中的表,这样可以达到数据共享。

faq-it.org/delphi_win_sdk/问题来了,当将网站发布到网站的时候,因为网上空间路径和我本机不同,所以链接表失败,网页当然也不能打开。

我觉得解决办法有:

一种,在本机上创建与网上空间完全相同的目录结构。但这很麻烦,特别是经常要换网站的话。

一种,如何让链接表使用相对路径,就是链接到当前目录下的那个mdb文件?(对了,access很弱智,链接表记录的是绝对路径)。

还一种,如何通过编程(asp或者本地vba)来实现对链接表的链接的修改?(又对了,access还是弱智,更新链接表我只能使用手工更新,一定要找到那个路径下的mdb才行!可本地路径和网上不一样呀)

谁能告诉我如何实现上面的后两种方法?

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

以下是我自己在用的adox代码,只为了证明我说的access有此功能(说句不好听的:这关accessp事啊?这是ado模型该解决的问题。而且你也提错地方了,提到asp那一块更合适),做access编程的都应该看得懂,如果你看不懂我也只能说遗憾了。

PublicFunctionNewLinkedExternalTableMdb()

DimstrTargetDB()AsString

DimstrProviderString()AsString

DimstrSourceTbl()AsString

DimstrLinkTblName()AsString

DimcatDBAsADOX.Catalog

DimtblLinkAsADOX.Table

DimtmpLinkAsADOX.Table

DimiAsInteger

DimjAsInteger

SetcatDB=NewADOX.Catalog

catDB.ActiveConnection=CurrentProject.Connection

i=catDB.Tables.Count

ReDimstrTargetDB(i)

ReDimstrProviderString(i)

ReDimstrSourceTbl(i)

ReDimstrLinkTblName(i)

i=1

ForEachtmpLinkIncatDB.Tables

IftmpLink.Properties("JetOLEDB:CreateLink")Then

IfTrim(tmpLink.Properties("JetOLEDB:RemoteTableName"))<>""Then

strLinkTblName(i)=tmpLink.Name

strTargetDB(i)=tmpLink.Properties("JetOLEDB:LinkDatasource")

strProviderString(i)=tmpLink.Properties("JetOLEDB:LinkProviderString")

strSourceTbl(i)=tmpLink.Properties("JetOLEDB:RemoteTableName")

DoWhileInStr(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

EndIf

EndIf

Next

j=i-1

Fori=1Toj

catDB.Tables.DeletestrLinkTblName(i)

SettblLink=NewADOX.Table

WithtblLink

.Name=strLinkTblName(i)

Set.ParentCatalog=catDB

.Properties("JetOLEDB:CreateLink")=True

.Properties("JetOLEDB:LinkDatasource")=strTargetDB(i)

.Properties("JetOLEDB:LinkProviderString")=strProviderString(i)

.Properties("JetOLEDB:RemoteTableName")=strSourceTbl(i)

EndWith

catDB.Tables.AppendtblLink

SettblLink=Nothing

Next

SetcatDB=Nothing

EndFunction

【access中链接表的问题】相关文章:

asp 输入输出的存储过程

JScript中遍历Request表单参数集合的方法

asp数组使用(2)

asp中实现随机分组程序的代码

aspx 页面与ascx用户控件传值的问题

CacheCls缓存的应用

XMLHTTP利用POST发送表单时提交中文的问题

Access 开发人员常犯错误大全

实现对Access数据库表重命名的一段代码

同一个帐号不能同时登陆的问题

精品推荐
分类导航