Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA向链接表上的AfterUpdate事件添加宏_Vba_Ms Access_Ms Access 2013_Linked Tables - Fatal编程技术网

使用VBA向链接表上的AfterUpdate事件添加宏

使用VBA向链接表上的AfterUpdate事件添加宏,vba,ms-access,ms-access-2013,linked-tables,Vba,Ms Access,Ms Access 2013,Linked Tables,我想知道有没有办法在VBA中将宏添加到AfterUpdate表事件中 Dim Db As Database, tDef As TableDef Set Db = CurrentDb Set tDef = Db.CreateTableDef("ARCH_CALL") tDef.Connect = BuildLinkString(UserName) tDef.SourceTableName = CreateDataSourceString(Buil

我想知道有没有办法在VBA中将宏添加到AfterUpdate表事件中

    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
每次登录后我都会重新创建链接表,因此我还需要重新关联AfterUpdate表事件

DoCmd.RunMacro "MacroName" 
我们应该做到这一点。只需在AfterUpdate活动结束时将其固定

编辑:

为什么不直接更改链接而不是创建一个新表呢?这样就不必使用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表事件与表关联?我不知道语法。请尝试更改链接,而不是重新创建链接。见我上面的编辑。太棒了。我将尝试一下。我不知道有什么方法可以将事件驱动的数据宏(更改前、更新后……)分配给Access中的链接表引用。这样的东西通常必须在实际表本身上定义:在另一个Access数据库的“real”表上定义一个事件驱动的数据宏,或者在SQL Server(或MySQL,或其他)的“real”表上定义一个触发器。如果您能找到一种方法来实现您所描述的,我会非常感兴趣。Gord,Access 2013让我创建事件驱动的数据宏,但它似乎无法工作/触发。您使用了什么方法来创建数据宏?我刚刚对现有链接表尝试了
Application.LoadFromText acTableDataMacro,…
,发现了相同的情况:它接受了数据宏定义,但宏似乎没有运行。我只是使用了表工具/设计选项卡-->创建数据宏-->更新后。我通过双击导航栏中的table对象进入了这个工具栏。在Access 2010中,对于“设计”视图和“数据表”视图中的链接表,这些选项都显示为灰色。但是,在Access 2013中,它们在“设计”视图中启用,但在“数据表”视图中仍然禁用。