打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用VBA实现随机选择记录

用VBA通过创建一个临时表,实现随机选取记录。

Sub PickRandom()

    Dim db As DAO.Database

    Dim tdf As DAO.TableDef

    Dim fld As DAO.Field

    Dim rst As DAO.Recordset

    Dim strSQL As String

    Dim strTableName As String

    

    strSQL = 'Select tblStaff.Firstname, tblStaff.Lastname ' & _

             'INTO tblTemp ' & _

             'FROM tblStaff;'

    DoCmd.SetWarnings False

    DoCmd.RunSQL strSQL

    DoCmd.SetWarnings True

    

    Set db = CurrentDb()

    Set tdf = db.TableDefs('tblTemp')

    Set fld = tdf.CreateField('RandomNumber', dbDouble)

    

    tdf.Fields.Append fld


    Set rst = db.OpenRecordset('tblTemp', dbOpenTable)

    

    rst.MoveFirst

    Do

        Randomize

        rst.Edit

            rst![RandomNumber] = Rnd()

        rst.Update

        rst.MoveNext

    Loop Until rst.EOF

    

    rst.Close

    Set rst = Nothing

    

    strTableName = 'tblRandom_' & Format(Date, 'ddmmmyyyy')

    strSQL = 'Select TOP 25 tblTemp.Firstname, tblTemp.Lastname ' & _

             'INTO ' & strTableName & ' ' & _

             'FROM tblTemp ' & _

             'ORDER BY tblTemp.RandomNumber;'

    DoCmd.SetWarnings False

    DoCmd.RunSQL strSQL

    DoCmd.SetWarnings True


    db.TableDefs.Delete ('tblTemp')

End Sub



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用excel vba,将EXCEL数据追加到ACCESS数据库的某张表中的实例(学习备注)
如何禁止/屏蔽docmd.runsql执行查询时的提示?_技术空间站
如何取消access操作查询提示
ACCESS编程(3)
Excel VBA ADO SQL入门教程024:初识Recordset对象
用代码删除字段说明
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服