代码之家  ›  专栏  ›  技术社区  ›  FrustratedWithFormsDesigner

在MS Access中以编程方式创建ODBC连接和链接表

  •  5
  • FrustratedWithFormsDesigner  · 技术社区  · 14 年前

    是否可以在打开文件时动态创建数据库连接,是否可以动态更改链接表的链接位置?

    2 回复  |  直到 14 年前
        1
  •  11
  •   Tahbaza    14 年前

    您需要来自Access的无DSN链接表连接。这是可能的,我已经做到了,但我没有与我的代码。我认为它类似于下面的内容(这使用了一个sqlserver源代码,但Oracle的连接字符串略有不同)。要在启动时创建表,需要先检查每个tabledef是否存在,然后再尝试再次创建它们,并在打开Access数据库时调用如下子例程。

    Function LinkTables()
        Dim DB As Database, tDef As TableDef
        Set DB = CurrentDb
        Set tDef = DB.CreateTableDef("YourAccessLinkedTableNameHere")
        tDef.Connect = "ODBC;Driver={SQL Server};Server=srvname;Database=dbname;UID=sqluserid;PWD=sqlpwd"
        tDef.SourceTableName = "dbo.YourSourceTableNameHere"
        DB.TableDefs.Append tDef
    End Function
    
        2
  •  6
  •   David-W-Fenton    14 年前

    我在一个定义了DSN的工作站上进行编程,然后在发布供生产使用之前,运行 Doug Steele's code to convert all the DSN-based connect strings to be DSN-less .