我有一个主要的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)中引入表。那么有没有办法在不同的数据库而不是活动数据库上执行此操作?
谢谢您的指导!
答案 0 :(得分:1)
有几种方法: 1.您可以从系统表中查询它
SELECT [name]
FROM msysObjects IN 'b:\Results_backup.mdb'
WHERE [name] Like '*ETR*' AND Type=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