gpt4 book ai didi

sql-server - access 2007中如何使用vba刷新表列表

转载 作者:行者123 更新时间:2023-12-02 03:55:46 25 4
gpt4 key购买 nike

如何在 Access 2007 中使用 vba 刷新表格列表。我使用 vbaSql 代码中制作表格:

DoCmd.RunSQL "SELECT * INTO table2 FROM table1", True    
RefreshDatabaseWindow
DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\import.mdb", , "table2", tab2, 0

错误信息:Microsoft Office Access 找不到对象表 2如果暂停 RefreshDatabaseWindow 并手动刷新,请按 F5 并返回以正常工作。如何自动完成?如果表列表处于事件状态,Access 2003 中可以正常工作。

我尝试暂停但没有工作:

Private Declare Sub sApiSleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
...
RefreshDatabaseWindow
Call sApiSleep(4000)
...

最佳答案

这是我用来附加 SQL/服务器表的。我删除它们然后将它们与此代码重新链接。显然,您必须为每个表重复最后一部分。我不知道这是否适用于 ADP。我的环境不使用 ADP。

Dim vConnect As String
Dim td As New TableDef
Dim vtablename As String

vConnect = "ODBC;Driver={SQL Server Native Client 10.0};SERVER=<server>;DATABASE=" <database>; Uid=<user>; Pwd=<pwd>;TrustServerCertificate=yes;encrypt = yes;"

'Delete existing tables
For Each td In CurrentDb.TableDefs
vattributes = td.Attributes And dbAttachedODBC
If Left(td.Name, 4) <> "Msys" And vattributes > 0 Then CurrentDb.TableDefs.Delete td.Name
Next
Debug.Print "Old Tables Deleted"

Set td = CurrentDb.CreateTableDef("<your table name>")
td.Connect = vConnect
td.SourceTableName = "<your table name>"
vtablename = td.Name
CurrentDb.TableDefs.Append td
Debug.Print "Attached table: " & vtablename

关于sql-server - access 2007中如何使用vba刷新表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12708960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com