Access数据库链接表的路径只能在Access数据库中通过
链接表管理器修改。能不能在Delphi中能过代码动态
改表链接表的路径。现在有一数据库 “Test.MDB” 在“D:\”根目录下,
“Test.MDB” 数据库中有两个“Test_1”和“Test_2”两个链接表,
“Test_1”的链接路径是“D:\Data\A.MDB”。
“Test_2”的链接路径是“D:\Data\B.MDB”。链接表的功能就是当我打开“Test.MDB” 数据库中的“Test_1”和“Test_2”的表时,
系统就显示“D:\Data\A.MDB”和“D:\Data\B.MDB”文件中的内容。问题是链接表的路径只能在Access提供的链接表管理器修改,不能用Delphi通过代码实现。
如果我想安装程序安装数据库文件在
C:\Data\Test.MDB
C:\Data\Test_1.MDB
C:\Data\Test_1.MDB
下。那么Test.MDB中的链接表的路径是“D:\Data\A.MDB”和“D:\Data\B.MDB”。
请问怎么用Delphi通过代码在第一次启动的时候改变Test.MDB中链接表的路径。

解决方案 »

  1.   

    我知道sqlserver和paradox都可以;想当然的认为access应该也可以;
    adoconnection  有个connectionstring属性;
    datasource有个database属性;楼主看看自己用的链接控件是什么;
      

  2.   

    不明白什么意思???什么叫链接表???
    不过如果这个路径是可更改的话   可以在程序里的连接组见比如ADOConnection的BEFROEADOConnection事件里写   路径:=应用程序路径+‘test_1.mdb’
    可以吗
      

  3.   

    我是说Access链接表的路径,不是说ado连接到数据库的路径,一个*.mdb的文件
    通过ado的连接属性当然好改了。
      

  4.   

    哈哈  楼上的 我也没说 要你改ADO的连接路径
    我只是说在那个连接前发生的事件里写
    只是不太懂这链接表是什么意思 你能给偶解释下吗
      

  5.   

    现在有一数据库 “Test.MDB” 在“D:\”根目录下,
    “Test.MDB” 数据库中有两个“Test_1”和“Test_2”两个链接表,
    “Test_1”的链接路径是“D:\Data\A.MDB”。
    “Test_2”的链接路径是“D:\Data\B.MDB”。
    ----------------------------------------------
    里面链接路经不就是表所在哭的实际路径吗  那这个链接路经是做什么用的哦
      

  6.   

    路径:=应用程序路径+‘test_1.mdb’
    在ADO  connectionstring 设置
      

  7.   

    with AdoConnection do
    begin
    connectionstring:='private=microsoft.jet.oledb.4.0;data source=d:\data\a.mdb';
    open;
    end;
      

  8.   

    各位可以在Access中试试。现在有一数据库 “Test.MDB” 在“D:\”根目录下,
    “Test.MDB” 数据库中有两个“Test_1”和“Test_2”两个链接表,
    “Test_1”的链接路径是“D:\Data\A.MDB”。
    “Test_2”的链接路径是“D:\Data\B.MDB”。我在通过Ado连接到Test.MDB数据库很容易,现在是有Test.MDB中的Test_1这个表,打开这个表实际就是打开A.MDB这个数据库,换句话说,我只控制Test.MDB中的Test_1这个链接表就好象在操作
    A.MDB这个数据库一样,这是微软件的新功能,因为*.MDB的文件一个只能容纳1Gb的空间,所以通过
    本数据库中的链接表连接到其它的数据库,可以增大容量。各位大侠可以在Access中试一试嘛,耽误不了你们多少时间。谢谢了!