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

Posted

技术标签:

【中文标题】如何使用 vb.net 从 MS Access DB 表单中找出 Activex 控件【英文标题】:How to find out Activex Controls from MS Access DB forms using vb.net 【发布时间】:2008-12-11 07:07:56 【问题描述】:

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

【问题讨论】:

【参考方案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

【讨论】:

嗨 Remou,非常感谢。我会试试的。。谢谢。【参考方案2】:

我不确定您想要什么。 试试这个:进入 MS 访问并创建新属性,即表单上的控件计数。在 VBA 中,me.Countrolls.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")

【讨论】:

以上是关于如何使用 vb.net 从 MS Access DB 表单中找出 Activex 控件的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET - VB.NET - 从 MS-Access 数据库中检索记录

寻求代码设计建议:使用 VB.Net 和 Ms-Access

使用 VB.NET 打印 MS Access 报告

如何按 MS Access 的特定月份汇总特定列数据并进入 vb.net 中的文本框

VB.Net 使用创建表查询将 MS Access 表中的 AllowZeroLength 属性设置为否

使用 asp.net、vb.net 和 ms-access 的时间戳