使用 VBA 将宏添加到链接 Table 上的 AfterUpdate 事件
Adding a Macro to AfterUpdate Event on Linked Table using VBA
我想知道有没有什么方法可以将宏添加到 VBA 中的 AfterUpdate Table 事件?
Dim Db As Database, tDef As TableDef
Set Db = CurrentDb
Set tDef = Db.CreateTableDef("ARCH_CALL")
tDef.Connect = BuildLinkString(UserName)
tDef.SourceTableName = CreateDataSourceString(BuildDataSourceString, "LinkedTableName")
Db.TableDefs.Append tDef
我在每次登录后重新创建链接 table,因此我也需要重新关联 AfterUpdate Table 事件。
DoCmd.RunMacro "MacroName"
应该可以解决问题。只需在 AfterUpdate 事件结束时添加它即可。
编辑:
为什么不直接更改 link 而不是创建新的 table?然后您不必使用 VBA.
重新分配宏
Set db = CurrentDB
Set tdf = db.TableDefs("ARCH_CALL")
tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
& "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.ARCH_CALL"
tdf.RefreshLink
我想知道有没有什么方法可以将宏添加到 VBA 中的 AfterUpdate Table 事件?
Dim Db As Database, tDef As TableDef
Set Db = CurrentDb
Set tDef = Db.CreateTableDef("ARCH_CALL")
tDef.Connect = BuildLinkString(UserName)
tDef.SourceTableName = CreateDataSourceString(BuildDataSourceString, "LinkedTableName")
Db.TableDefs.Append tDef
我在每次登录后重新创建链接 table,因此我也需要重新关联 AfterUpdate Table 事件。
DoCmd.RunMacro "MacroName"
应该可以解决问题。只需在 AfterUpdate 事件结束时添加它即可。
编辑:
为什么不直接更改 link 而不是创建新的 table?然后您不必使用 VBA.
重新分配宏Set db = CurrentDB
Set tdf = db.TableDefs("ARCH_CALL")
tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _
& "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.ARCH_CALL"
tdf.RefreshLink