我想从表中选择预定义数量的随机记录(使用种子)。访问将表单变量传递给SQL命令
我写了下面的,但它不工作
SELECT TOP ([Forms]![Form1]![NumerofElements]) *
FROM TableA
ORDER BY Rnd(-(100000*ID)*[Forms]![Form1]![Seed])
你对我怎么可以在SQL直接传递中报告的表格(Form1
)这些信息的任何想法?
我想从表中选择预定义数量的随机记录(使用种子)。访问将表单变量传递给SQL命令
我写了下面的,但它不工作
SELECT TOP ([Forms]![Form1]![NumerofElements]) *
FROM TableA
ORDER BY Rnd(-(100000*ID)*[Forms]![Form1]![Seed])
你对我怎么可以在SQL直接传递中报告的表格(Form1
)这些信息的任何想法?
不,TOP不带参数。
您可以使用该SQL创建查询:
Sql = "SELECT TOP {0} * FROM TableA ORDER BY Rnd(-Timer()*[ID])"
,然后用替换:
YourQuery.SQL = Replace(Sql, "{0}", ([Forms]![Form1]![NumerofElements]))
,然后使用该查询。
就我所知,您不能动态更改这个“TOP”数量。它需要被硬编码到查询中。不过,您可以使用VBA来修改查询。 –