Ms access MS Access导出和导入数据
我有两个后端数据库。做一个主用户 我想从BE User中的一个表中导出数据(另存为磁盘中的文件),并使用VBA将其导入BE Main。由于BE Main是主要的,BE用户是次要的,所以如果ID存在,我需要填充数据,如果ID不存在,我需要添加新的ID(行) 出口部分Ms access MS Access导出和导入数据,ms-access,vba,Ms Access,Vba,我有两个后端数据库。做一个主用户 我想从BE User中的一个表中导出数据(另存为磁盘中的文件),并使用VBA将其导入BE Main。由于BE Main是主要的,BE用户是次要的,所以如果ID存在,我需要填充数据,如果ID不存在,我需要添加新的ID(行) 出口部分 DoCmd.TransferDatabase acExport, "Microsoft Access", ExtDb, acTable, "tblHealth", "tblHealth1", False 如果我在导入时使用相同的代码
DoCmd.TransferDatabase acExport, "Microsoft Access", ExtDb, acTable, "tblHealth", "tblHealth1", False
如果我在导入时使用相同的代码,access将创建一个新表,因为它存在
知道如何更新/刷新表中的数据吗?表有一个主键(heathID),我可以在SQL中使用它。一个更简单的方法可能是链接表并从那里运行查询。它们可能与下面的编码同名,这将允许您更改链接表的名称
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=示例:“C:\Users\username\desktop\MyDatabase.accdb”
targetTableName=从中链接的后端中的表的名称
LinkTableName=为新链接表指定的名称为什么是两个db?将主设置链接设置为用户表,然后运行更新操作查询。复习一个原因,我需要两个。BE用户用于演示和测试。