如何为字段的每个唯一值生成随机记录?
Posted
技术标签:
【中文标题】如何为字段的每个唯一值生成随机记录?【英文标题】:How to generate random records for each unique values of a field? 【发布时间】:2019-05-03 17:26:08 【问题描述】:我有一个包含 2 个字段的表格:School Name
; Student ID
.
我想随机显示每个学校预定数量的学生证。
例如,来自 A 学校的 2 个随机学生 ID;来自学校 B 的 3 个随机学生 ID。
我还希望查询知道要根据另一个查询或表(学校 A:2 条记录;学校 B:3 条记录;学校 C:1 条记录等)生成多少随机记录(学生 ID)
最终,这些将显示在报告中。每个学校名称 1 页,在学校名称下方随机选择学生 ID。
到目前为止,我只能随机生成学生 ID,但我无法告诉查询为每个学校生成学生 ID。
下面的两个链接显示了原始表格的示例,以及我希望报告的外观。
表:
报告:
【问题讨论】:
你可以在我的文章中得到一些想法和有用的功能:Random Rows in Microsoft Access。 【参考方案1】:如果您想为每所学校生成随机学生 ID,请使用带有循环的记录集。这是一个想法(注意:代码未经测试):
Dim rs as Recordset
'Select all school names
set rs = CurrentDb.OpenRecordset("SELECT SchoolName FROM SchoolTable")
rs.MoveFirst
'Loop through all school names
Do While Not rs.EOF
'Execute your student ID randomly for the actual school name in the loop or do other stuff
CurrentDb.Execute "YourQueryNameWhichYouAlreadyHave"
rs.MoveNext
Loop
【讨论】:
以上是关于如何为字段的每个唯一值生成随机记录?的主要内容,如果未能解决你的问题,请参考以下文章
如果没有插入值,如何为 SQL Server 中的列字段分配唯一值?
如何为多个参数值显示特定字段中的所有值? SQL Server 报表生成器