Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

通过 DAO 记录集返回随机记录

时 间:2021-08-27 19:53:56
作 者:杨雪   ID:42182  城市:南京
摘 要:Access 没有从一组记录返回随机记录的内置机制。 本主题介绍一个用户定义的示例函数,您可以使用该函数返回一个随机记录。
正 文:

截   图:


源   码:


Private Sub 部门名称_Click()
    MsgBox FindRandom("部门", "部门名称")
End Sub



Function FindRandom(RecordSetName As String, Fieldname As String)

    Dim MyDB As Database
    Dim MyRS As Recordset
    Dim SpecificRecord As Long, i As Long, NumOfRecords As Long

    Set MyDB = CurrentDb()
    Set MyRS = MyDB.OpenRecordset(RecordSetName, dbOpenDynaset)
    On Error GoTo NoRecords
    MyRS.MoveLast
    NumOfRecords = MyRS.RecordCount
    SpecificRecord = Int(NumOfRecords * Rnd)
    If SpecificRecord = NumOfRecords Then
        SpecificRecord = SpecificRecord - 1
    End If
    MyRS.MoveFirst
    For i = 1 To SpecificRecord
        MyRS.MoveNext
    Next i
    FindRandom = MyRS(Fieldname)
    Exit Function

NoRecords:
    If Err = 3021 Then
        MsgBox "There Are No Records In The Dynaset", 16, "Error"
    Else
        MsgBox "Error - " & Err & Chr$(13) & Chr$(10) & Error, _
               16, "Error"
    End If
    FindRandom = "No Records"
    Exit Function

End Function




Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助