通过 DAO 记录集返回随机记录-杨雪
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


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

发表时间:2021/8/27 19:53:56 评论(0) 浏览(2537)  评论 | 加入收藏 | 复制
   
摘 要: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群(群号:198465573)
 
 相关文章
MS SQL Server和access分别取得随机记录(随机抽题...  【umvsoft整理  2008/6/16】
MS SQL Server和access分别取得随机记录  【umvsoft整理  2008/8/21】
【Access基础】随机数函数--Rnd函数  【张迪  2019/2/18】
通过Rnd获取指定范围的随机数  【易勋  2019/5/23】
【Access示例】生成不重复的随机数  【缪炜  2019/6/14】
【Access随机数示例】随机生成1或者2,只想要1和2的随机整数...  【麥田  2020/2/17】
常见问答
技术分类
相关资源
文章搜索
关于作者

杨雪

文章分类

文章存档

友情链接