如何使用vb.net从MS Access DB表单中找到Activex控件

时间:2008-12-11 07:07:57

标签: vb.net ms-access

我正在vb.net中开发一个工具,需要从MS Access DB表单中找出Activex控件。我能够在表单中输入多个控件,但无法仅从表单中获取Activex控件。任何人都知道如何实现这一点,请建议。

2 个答案:

答案 0 :(得分:1)

您可以访问controltype属性吗?如果是这样,我无法帮助vb.net,但这里有一些可能有帮助的VBA。

ActiveXCount = 0
For Each ctl In Screen.ActiveForm
    If ctl.ControlType = 119 Then 'Custom control'
        'Debug.Print ctl.Class'
        ActiveXCount = ActiveXCount + 1
    End If
Next

答案 1 :(得分:0)

我不确定你的想法是什么。
试试这个:进入MS访问并创建新属性,该属性是表单上控件的数量。在VBA中,me.Countrols.Count。使用Access自动化打开表单。 OnFOrmLoad()将控件的数量与表单的名称一起写入文本文件,然后关闭表单。 然后在VB.net中打开文本文件。它是间接的但它会起作用。

How To Automate Microsoft Access From Visual Basic .NET

自动化:

Dim oAccess As Access.Application

' Start a new instance of Access for Automation:
oAccess = New Access.ApplicationClass()

' Open a database in exclusive mode:
oAccess.OpenCurrentDatabase(filepath:="c:\mydb.mdb", Exclusive:=True)

oAccess.DoCmd.OpenForm(FormName:="Employees")