在 Visual Basic 中设置数据访问对象的属性
适用于:Access 2013 | Access 2016
利用数据访问对象 (DAO),您能够从 Visual Basic 中操作数据库的结构及其包含的数据。 许多 DAO 对象与您在数据库中看到的对象相对应 — 例如,TableDef 对象与 Microsoft Access 表相对应。 Field 对象与表中的字段相对应。
您可以为 DAO 对象设置的大多数属性都是 DAO 属性。 这些属性由 Microsoft Access 数据库引擎定义,设置方式在包括 Access 数据库引擎的任何应用程序中都相同。 您可为 DAO 对象设置的某些属性由 Microsoft Access 定义,Access 数据库引擎无法自动识别。 为 DAO 对象设置属性的方式取决于属性是由 Access 数据库引擎还是 Microsoft Access 定义的。
为 DAO 对象设置 DAO 属性
若要设置 Access 数据库引擎定义的属性,请引用 DAO 层次结构中的对象。 实现这一点的最方便快捷的方法是:创建代表需要处理的不同对象的对象变量,并在后续步骤中在代码中引用这些对象变量。 例如,以下代码创建一个新 TableDef 对象并设置其 Name 属性:
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef
tdf.Name = "Contacts"
为 DAO 对象设置 Microsoft Access 属性
当设置由 Microsoft Access 定义但应用于 DAO 对象的属性时,Access 数据库引擎不会自动将该属性识别为有效的属性。 首次设置该属性时,必须创建该属性并将其追加到应用该属性的对象的 Properties 集合中。 当该属性位于 Properties 集合中后,就可以像设置任何 DAO 属性一样设置它了。
如果首次在用户界面中设置一个属性,该属性会自动添加到 Properties 集合中,可以按照正常的方式设置它。
当编写用于设置由 Microsoft Access 定义的属性的过程时,应该包括错误处理代码以验证正在设置的属性在 Properties 集合中是否已经存在。 有关详细信息,请参阅关于 CreateProperty 方法的"帮助"主题或单个属性的主题。
切记,创建一个属性时,在将其追加到 Properties 集合之前必须正确指定其 Type 属性。 可以根据"帮助"主题"设置"部分中各个属性的信息来确定 Type 属性。 下表提供了用于确定 Type 属性设置的准则。
如果属性设置为 | 那么 Type 属性设置应是 |
---|---|
字符串 | dbText |
True / False | dbBoolean |
整数 | dbInteger |
下表列出了适用于 DAO 对象的某些 Microsoft Access 定义的属性。
DAO 对象 | Microsoft Access 定义的属性 |
---|---|
Database | AppTitle、AppIcon、StartupShowDBWindow、StartupShowStatusBar、AllowShortcutMenus、AllowFullMenus、AllowBuiltInToolbars、AllowToolbarChanges、AllowBreakIntoCode、AllowSpecialKeys、Replicable、ReplicationConflictFunction |
SummaryInfo Container | Title、Subject、Author、Manager、Company、Category、Keywords、Comments、Hyperlink Base(请参阅 “数据库名称 属性”对话框的“摘要”选项卡,该对话框可通过在“文件”菜单上选择“数据库属性”打开。) |
UserDefined Container | (请参阅 “数据库名称 属性”对话框的“摘要”选项卡,该对话框可通过在“文件”菜单上选择“数据库属性”打开。) |
TableDef | DatasheetBackColor、DatasheetCellsEffect、DatasheetFontHeight、DatasheetFontItalic、DatasheetFontName、DatasheetFontUnderline、DatasheetFontWeight、DatasheetForeColor、DatasheetGridlinesBehavior、DatasheetGridlinesColor、Description、FrozenColumns、RowHeight、ShowGrid |
QueryDef | DatasheetBackColor、DatasheetCellsEffect、DatasheetFontHeight、DatasheetFontItalic、DatasheetFontName、DatasheetFontUnderline、DatasheetFontWeight、DatasheetForeColor、DatasheetGridlinesBehavior、DatasheetGridlinesColor、Description、FailOnError、FrozenColumns、LogMessages、MaxRecords、RecordLocks、RowHeight、ShowGrid、UseTransaction |
Field | Caption、ColumnHidden、ColumnOrder、ColumnWidth、DecimalPlaces、Description、Format、InputMask |
另请参阅
- 访问开发人员论坛
- 访问 support.office.com 上的帮助
- 访问 UtterAccess 上的论坛
- 访问开发人员和 VBA 编程帮助中心 (FMS)
- 访问 StackOverflow 上的帖子
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。