2014-09-04 86 views

回答

1

Creating An ActiveX Control That Is A Data Source

  1. 创建一个新的ActiveX控件项目。
  2. 通过Project,References菜单对话框将项目中的引用设置为适当的数据库 。
  3. 将UserControl的DataSourceBehavior属性设置为1-vbDataSource。
  4. 为程序员 将用于操纵数据源控件与数据的连接创建定制属性的属性过程。 通常,您将实现字符串属性,如ConnectString (用于初始化Connection对象的连接字符串)和 RecordSource(用于保存查询以初始化 记录集中的数据的字符串)。创建私有变量来保存属性的每个值。创建私有常量以保存其初始值 的默认值。编写InitProperties,ReadProperties和WriteProperties事件过程以保留这些属性。
  5. 如果您想公开控件的Recordset以供其他程序员 操作,那么您应该创建一个自定义属性名称 RecordSet。它的类型将是您计划为您的控件编程的相应Recordset类型。你可以选择使其成为 只读,在这种情况下,你只需要给它一个Property Get 程序。声明一个私有对象变量来使用 WithEvents(这会将事件过程公开给其他程序员)保存它的值。
  6. 声明您计划为您的控件编程的适当连接类型的私有变量。它不会对应于 自定义属性,但为了托管Recordset是必需的。
  7. 对InitProperties,ReadProperties和WriteProperties事件 进行编码,以便正确管理和保留前面步骤中创建的属性 的值。
  8. 将UserControl的GetDataMember事件过程编程为 初始化记录集并将其返回到第二个参数中。 将从 定制的私有变量或 GetDataMember事件过程本身的硬编​​码信息(请参阅前面的 示例部分)中的信息派生出Recordset。您应该执行一些errortrapping以确保 确实具有有效的连接。
  9. 将代码置于UserControl的Terminate事件中,将优雅地关闭数据连接 。
  10. 如果您希望允许用户直接导航 操纵您的UserControl,然后将相应的用户 接口与代码一起导航到 Recordset变量。
  11. 您的新ActiveX控件现在应该已准备好作为 DataSource进行测试:将标准EXE项目添加到项目组。现在, 确保您关闭了UserControl的设计器,将新控件的一个 实例添加到标准EXE表单中。
  12. 操纵您可能放入自定义控件中的任何必需的自定义属性(例如ConnectString 或RecordSource)。
  13. 将一个或多个可绑定控件的测试项目,并设置其 DataSource属性指向你的数据源 控制的实例。将它们的DataField属性设置为指向 公开的Recordset中的字段。
+0

谢谢。我不会说英语。请为我的示例编写代码。我的文本框是它有这个属性。 – 2014-09-04 12:57:40

+0

@HamidrezaMollaebrahimi:StackOverflow不是一个代码写入服务。我的回答总结了你需要做的事情。顶部的链接实际上有一些有用的代码。查看translate.google.com是否可以帮助您进行翻译。 – 2014-09-04 13:02:20

+0

这个过程在书中(pdf)。 请给你写一个小例子,并给我该项目的链接。对不起 – 2014-09-04 13:24:05

相关问题