IndexNulls 属性示例 (VB)
此示例演示索引的 IndexNulls 属性。 该代码创建一个新索引并根据用户输入(来自名为 List1 的列表框)设置 IndexNulls 的值。 然后,索引将追加到 Northwind 目录中的 Employees 表。 新“索引”应用于基于 Employees 表的 Recordset,并打开 Recordset。 将新记录添加到 Employees 表中,索引字段中具有 Null 值。 是否显示此新记录取决于 IndexNulls 属性的设置。
' BeginIndexNullsVB
Private Sub cmdIndexNulls_Click()
IndexNullsX
End Sub
Sub IndexNullsX()
Dim cnn As New ADODB.Connection
Dim catNorthwind As New ADOX.Catalog
Dim idxNew As New ADOX.Index
Dim rstEmployees As New ADODB.Recordset
Dim varBookmark As Variant
' Connect the catalog.
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"data source=c:\Program Files\" & _
"Microsoft Office\Office\Samples\Northwind.mdb;"
Set catNorthwind.ActiveConnection = cnn
' Append Country column to new index
idxNew.Columns.Append "Country"
idxNew.Name = "NewIndex"
' Set IndexNulls based on user selection in listbox List1
Select Case List1.List(List1.ListIndex)
Case "Allow"
idxNew.IndexNulls = adIndexNullsAllow
Case "Ignore"
idxNew.IndexNulls = adIndexNullsIgnore
Case Else
End
End Select
'Append new index to Employees table
catNorthwind.Tables("Employees").Indexes.Append idxNew
rstEmployees.Index = idxNew.Name
rstEmployees.Open "Employees", cnn, adOpenKeyset, _
adLockOptimistic, adCmdTableDirect
With rstEmployees
' Add a new record to the Employees table.
.AddNew
!FirstName = "Gary"
!LastName = "Haarsager"
.Update
' Bookmark the newly added record
varBookmark = .Bookmark
' Use the new index to set the order of the records.
.MoveFirst
Debug.Print "Index = " & .Index & _
", IndexNulls = " & idxNew.IndexNulls
Debug.Print " Country - Name"
' Enumerate the Recordset. The value of the
' IndexNulls property will determine if the newly
' added record appears in the output.
Do While Not .EOF
Debug.Print " " & _
IIf(IsNull(!Country), "[Null]", !Country) & _
" - " & !FirstName & " " & !LastName
.MoveNext
Loop
' Delete new record because this is a demonstration.
.Bookmark = varBookmark
.Delete
.Close
End With
' Delete new Index because this is a demonstration.
catNorthwind.Tables("Employees").Indexes.Delete idxNew.Name
Set catNorthwind = Nothing
End Sub
' EndIndexNullsVB