我有两个后端数据库。 BE-Main和BE-User。
我想从BE-User中的一个表中导出数据(另存为磁盘中的文件),然后使用VBA将其导入BE-Main。由于BE-Main是主要的,BE-User是次要的,如果ID存在,我需要填写数据,如果ID不存在,我需要添加新的ID(行)。
导出部分
DoCmd.TransferDatabase acExport, "Microsoft Access", ExtDb, acTable, "tblHealth", "tblHealth1", False
如果我在导入时使用相同的代码,则访问正在创建一个新表,因为它存在。
知道如何更新/刷新表格中的数据吗?表有一个主键(heathID),我可以使用SQL。
答案 0 :(得分:1)
更简单的路线可能是链接表并从那里运行您的查询。它们可能与下面的编码名称相同,允许您更改链接表的名称。
Public Sub ExportImportData()
'Create the link table
DoCmd.TransferDatabase _
TransferType:=acLink, _
DatabaseType:="Microsoft Access", _
DatabaseName:="YourDatabaseLocationAndName.accdb", _
ObjectType:=acTable, _
Source:="TargetTableName", _
Destination:="LinkTableName"
'Updates data
CurrentDb.Execute "UPDATE YourUpdateTableName " & _
"SET YourUpdateTableName.FieldName = LinkTableName.FieldName " & _
"WHERE(((YouUpdateTableName.ID) = LinkTableName.ID));"
'Add more fields if updating multiple fields
'Appends new data
CurrentDb.Execute "INSERT INTO YourUpdateTableName ( List out all fields ) " & _
"SELECT List Out all fields " & _
"FROM LinkTableName;"
'Deletes link table
DoCmd.DeleteObject acTable, "LinkTableName"
End Sub
YourDatabaseLocationAndName = example:" C:\ Users \ username \ desktop \ MyDatabase.accdb"
targetTableName =您要从
链接的后端中的表的名称LinkTableName =为新链接表提供的名称