会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 数据库系统 > 正文

对ADO记录集进行多列查找

时间:2013-07-12 16:26 来源:office中国 作者:鱼儿游游 阅读:
      我们在操作数据库的时候,一般会用到ADO操作,而且在ADO记录集查找记录中,我们都会用到“find”方法。
这种方法只能查找出一列。往往不能满足我们的要求。
下面的函数, 直接调用:Multi_Find <ADO记录集>, <查找条件>  即可进行多列操作

'============================================================================
'
'-函数名称:  Multi_Find
'
'-功能描述:  Find 方法是单列的操作,本函数支持多列查找。
'
'-输入参数:  objAdoRst ........... 必选,ADO记录集
'             strCriteria ......... 必选,文本,查找条件
'
'-输 出 值:  ADO记录集(objAdoRst)的记录指针
'
'-示    例:  Multi_Find rst, "国家= '中国' AND 城市 = '深圳'"
'             If  Not rst.EOF() Then
'                 MsgBox "找到指定条件的记录。"
'             Else
'                 MsgBox "指定条件的记录不存在。"
'             End If
'
'-作    者:  鱼儿游游
'-创建日期:  2012-12-17
'-联系方式:  my_mail@163.com   QQ:7178000
'============================================================================
Public Sub Multi_Find(ByRef objAdoRst As Object, ByVal strCriteria As String)
    Dim rstClone As Object
    
    '生成ADO记录集变量
    Set rstClone = CreateObject("ADODB.Recordset")
    
    '复制指定的记录集
    Set rstClone = objAdoRst.Clone
    
    '对ADO记录集按指定条件进行筛选
    rstClone.Filter = strCriteria
    
    '判断筛选结果
    If rstClone.EOF Or rstClone.BOF Then
        '没有找到相应记录,记录指针移到文件结束处
        objAdoRst.MoveLast
        objAdoRst.MoveNext
    Else
        '找到相应记录,把指定记录的记录指针移到相同的位置(复制的记录集)
        objAdoRst.Bookmark = rstClone.Bookmark
    End If
    
    '释放对象变量内存
    rstClone.Close
    Set rstClone = Nothing
    
End Sub

(责任编辑:admin)

顶一下
(3)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: