利用 ActiveX 數(shù)據(jù)對象 (ADO) ,用戶可以從 Visual Basic 中處理數(shù)據(jù)庫的結構和其中包含的數(shù)據(jù)。多數(shù) ADO 對象都對應于數(shù)據(jù)庫中能夠看到的對象,例如,Table 對象對應于 Microsoft Access 表。Field 對象對應于表中的字段。
可以對 ADO 對象設置的屬性中大多數(shù)都是 ADO 屬性。這些屬性由 Microsoft Jet 數(shù)據(jù)庫引擎定義并且設置的方法與任何包含 Jet 數(shù)據(jù)庫引擎的應用程序中設置方法相同。某些可以對 ADO 對象設置的屬性由 Microsoft Access 定義,Jet 數(shù)據(jù)庫引擎不會自動識別這些屬性。如何設置 ADO 對象的屬性取決于該屬性是由 Jet 數(shù)據(jù)庫引擎定義還是由 Microsoft Access 定義。
若要設置由 Jet 數(shù)據(jù)庫引擎定義的屬性,請引用 ADO 層次結構中的對象。實現(xiàn)這一點的最方便快捷的方法是創(chuàng)建代表需要處理的不同對象的對象變量,并在代碼的后續(xù)步驟中引用該對象變量。例如,以下代碼新建一個 TableDef 對象并設置其 Name 屬性:
Dim tbl As New ADOX.Table
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
tbl.Name = "Contacts"
當設置由 Microsoft Access 定義但應用于 ADO 對象的屬性時,Jet 數(shù)據(jù)庫引擎不會將該屬性自動識別為有效的屬性。首次設置該屬性時,必須創(chuàng)建該屬性并將其追加到應用該屬性的對象的 Properties 集合中。當該屬性位于 Properties 集合中后,就可以按照與任何 ADO 屬性相同的方式設置它。
如果首次在用戶界面中設置一個屬性,該屬性會自動添加到 Properties 集合中,可以按照正常的方式設置它。
當編寫用于設置由 Microsoft Access 定義的屬性的過程時,應該編寫錯誤處理代碼以驗證正在設置的屬性在 Properties 集合中是否已經(jīng)存在。有關詳細信息,請參閱有關 Add 方法或單個屬性主題的“幫助”主題。
切記,創(chuàng)建一個屬性時,在將其追加到 Properties 集合之前必須正確指定其 Type 屬性。可以根據(jù)“幫助”主題“設置”中各個屬性的信息來確定 Type 屬性。下表提供了有關確定 Type 屬性設置的一些指導。
如果屬性設置是 |
那么 Type 屬性應當是 |
字符串 |
adLongVarWChar 或 adVarWChar |
True/False |
adBoolean |
整數(shù) |
adInteger |
下表列出了某些應用于 ADO 對象的、Microsoft Access 定義的屬性。
ADO 對象 |
Microsoft Access 定義的屬性 |
Connection |
AppTitle、AppIcon、StartupShowDBWindow、StartupShowStatusBar、AllowShortcutMenus、AllowFullMenus、AllowBuiltInToolbars、AllowToolbarChanges、AllowBreakIntoCode、AllowSpecialKeys、Replicable、ReplicationConflictFunction |
Table |
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、FrozenColumns、LogMessages、MaxRecords、RecordLocks、RowHeight、ShowGrid |
Field |
Caption、ColumnHidden、ColumnOrder、ColumnWidth、DecimalPlaces、Description、Format、InputMask |