关于VB访问数据库,使用Find查找字段的问题
1。 这段是数据库创建时定义的字段,都是相同的方法;=============================================================================
tbl.Columns.Append "Key", adVarWChar, 20 '测试步键值
tbl.Columns.Append "Tag", adVarWChar, 20 '测试步Tag
tbl.Columns.Append "Name", adVarWChar, 20 '测试步名称
tbl.Columns.Append "Type", adVarWChar, 20 '元件类型
tbl.Columns.Append "TestMothed", adVarWChar, 20 '测试方式
tbl.Columns.Append "Label", adSingle '标称值
================================================================================
2。这段是查找数据库字段中的内容,当查找Name,Key,时可以正常查找到需要的数据,但是查找Tag字段是总是不能正常查找到,不知道为什么。
================================================================================
Public Function DB_Find(ByRef Field As String, ByRef Text As String, Optional ForBack As String = adSearchForward, Optional First As Boolean = True) As String
On Error GoTo DBFindErr
Dim line As Integer
Dim mark
Dim ward As String
DB_Find = ""
If First = True Then
rs.MoveFirst
End If
mark = rs.Bookmark
rs.Find Field & " = '" & Text & " '", 1, ForBack, mark
DB_Find = rs.Fields("Key").Value
DBFindErr:
End Function
=========================================================================================== --------------------编程问答-------------------- 2。这段是查找数据库字段中的内容,当查找Name,Key,时可以正常查找到需要的数据,但是查找Tag字段是总是不能正常查找到,不知道为什么。
================================================================================
Public Function DB_Find(ByRef Field As String, ByRef Text As String, Optional ForBack As String = adSearchForward, Optional First As Boolean = True) As String
On Error GoTo DBFindErr
Dim line As Integer
Dim mark
Dim ward As String
DB_Find = ""
If First = True Then
rs.MoveFirst
End If
mark = rs.Bookmark
rs.Find Field & " = '" & Text & " '", 1, ForBack, mark
DB_Find = rs.Fields("Key").Value
exit function
DBFindErr:
End Function
=========================================================================================== --------------------编程问答-------------------- rs.Find Field & " = '" & Text & " '", 1, ForBack, mark
1 为何要跳过一行?
ForBack 未知的常量? --------------------编程问答--------------------
rs.Find Field & " = '" & Text & " '", 1, ForBack, mark
1是笔误,不过试过用0也是一样的效果,无法查到数据
ForBack是查找的方向默认是向下 adSearchForward,如果是向上就传个adSearchBackward
现在的问题是为什么都什么一段代码,如果查找Key和Name都可以找到这行数据,但是查找Tag就没法找到。 --------------------编程问答-------------------- 是否 Key、Name 有索引,而 Tag 没有?
补充:VB , 数据库(包含打印,安装,报表)