当前位置:编程学习 > VB >>

关于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 ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,