0

我有许多从数据库被主数据库查询。我希望能够从主数据库的表单中监控和快速访问从属数据库及其表单和所有内容。

我希望我可以简单地在主数据库中的表单上创建一个选项卡控件,每个从数据库的 MS Access 窗口嵌入到该选项卡的每个页面中。

这可能吗?

4

2 回答 2

1

您将必须设计一些方法来创建一个显示您感兴趣的表单并将表单实例连接到每个从属数据库并将其放在每个选项卡上。

于 2013-07-08T09:23:58.563 回答
0

您不能在子窗体内插入应用程序窗口。要使用其他数据库的表单,您可以在那里创建一个标准模块并插入一个返回表单对象的公共函数。因此,如果您在从属数据库中有一个表单“frmTest”,您直接想在主数据库中打开它,您可以编写一个这样的公共函数:

Public Function GetFrmTest1() As Form_frmTest
   Set GetFrmTest1 = New Form_frmTest
End Function

此方法仅在模块中有代码时才有效,如果不是这种情况,您可以使用通用的“Access.Form”作为类型而不是“Form_frmTest”。

在主数据库中,您现在可以打开此表单。为此,您可以在 VBA 编辑器中打开参考窗口并单击“浏览”,然后搜索从数据库的位置并将其添加为参考。

在主数据库中,您现在可以使用以下命令打开它:

Dim frm As Access.Form  ' Here you can only use the generic Form object
Set frm = GetFrmTest1
frm.Visible = True

这将在您的主数据库中打开外部表单。但是当然你需要一个函数来将表单对象返回到任何从数据库中的主数据库。您还可以使用一个函数返回任何表单,如下所示:

Public Function GetForm(strFormName As String) As Access.Form
   Select Case strFormName
      Case "frmTest1"
         Set GetForm = Form_frmTest1
      Case "frmTest2"
         Set GetForm = Form_frmTest2
   ...
   End Select
End Function

因此,您可以在主数据库中使用每个从数据库的形式,但您必须自己进行导航。

另一种可能性是在主数据库中创建新表单,只将链接表添加到从数据库,这样你就只监控一些数据。此处的优点是您可以自行决定在显示数据时要执行的操作 - 另一种解决方案意味着您在从属数据库中打开具有所有“主页功能”的表单,而无需控制内容。

于 2013-07-09T19:29:53.070 回答