MS Access:使用列表框从不同的Access数据库中选择和导入表

时间:2018-11-22 02:50:57

标签: ms-access

我有一个主要的Access数据库,该数据库将某些表导出到另一个Access数据库(称为Results_backup)。我希望有一种方法可以将这些表之一从Results_backup导入到主数据库中,而不希望用户访问“外部数据”等等。

理想情况下,我会在表单上有一个列表框,该列表框向用户显示Results_backup中所有名称为“ ETR”的表。然后,用户可以在列表框中选择一个表,单击一个按钮,然后将该表导入主数据库。

到目前为止,我正在为此工作:

Private Sub Form_Load()
Dim AccObject as Access.AccessObject
For each accObject in CurrentData.AllTables
If accObject like "*ETR*" then
me.listobjects.additem "ETR: " & accobject.name
End if
Next
End Sub

这仅从当前数据库(CurrentData.AllTables)中引入表。那么有没有办法在不同的数据库而不是活动数据库上执行此操作?

谢谢您的指导!

1 个答案:

答案 0 :(得分:1)

有几种方法: 1.您可以从系统表中查询它

SELECT [name]
FROM msysObjects IN 'b:\Results_backup.mdb'
WHERE [name] Like '*ETR*' AND Type=1;
  1. 您可以修改示例代码

    Private Sub Form_Load()
        Dim tdTable As TableDef
        Dim DB as Database
        Set DB = OpenDatabase("b:\Results_backup.mdb")
        For Each tdTable In DB.TableDefs
            If tdTable.Name like "*ETR*" then
                me.listobjects.additem "ETR: " & tdTable.Name
            End if
        Next
        ' clean up
        DB.close
        Set DB = nothing
    End Sub