Ms access MS Access导出和导入数据

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 如果我在导入时使用相同的代码

我有两个后端数据库。做一个主用户

我想从BE User中的一个表中导出数据(另存为磁盘中的文件),并使用VBA将其导入BE Main。由于BE Main是主要的,BE用户是次要的,所以如果ID存在,我需要填充数据,如果ID不存在,我需要添加新的ID(行)

出口部分

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用户用于演示和测试。