如何使用特定数字范围内的随机唯一数字进行 Microsoft 访问更新查询或 vb 功能
How to do microsoft access update query or vb function which use random unique number with in specific numbers range
我如何编写 MS 访问更新查询来更新 table 使用随机唯一编号但在特定范围内的记录。
这是我需要帮助的
之前的问题
id id1 time2 tim1
1 101 8.12 9.11
2 102 8.20 9.45
3 103 8.31 9.12
4 104 8.10 9.10
5 105 8.55 9.43
在 运行 查询之后
UPDATE Table1 SET Table1.time2 = RanNumBtw(10,20), Table1.tim1 = RanNumBtw(10,20)
WHERE (((Table1.id1) In (101,102)));
我不需要的输出
id id1 time2 tim1
1 101 13 13
2 102 13 13
3 103 8.31 9.12
4 104 8.10 9.10
5 105 8.55 9.43
我需要什么作为输出
id id1 time2 tim1
1 101 13 16
2 102 19 11
3 103 8.31 9.12
4 104 8.10 9.10
5 105 8.55 9.43
现在的问题是我需要做的是根据 id1 列在特定范围内更新 time2 列和 tim1 列。
就像其中 id1 是 101,102 更新 time2 在(8.10 到 8.30)之间和 tim1 在(9.10 到 9.30)之间更新为随机唯一编号。
我试过 vb 生成指定范围内数字的函数,但它一次又一次地更新为相同的数字
Public Function RanNumBtw(ByVal LwLimit As Long, ByVal UpLimit As Long) As Long
Randomize
RanNumBtw = Rnd * (UpLimit - LwLimit) + LwLimit
End Function
此函数的作用是再次为所有单元格提供相同的数字
查询或vb代码会有所帮助
感谢
将您的函数更改为:
Public Function RanNumBtw(LwLimit As Long, UpLimit As Long, RandInit As Long) As Long
Randomize RandInit + Now()
RanNumBtw = Rnd * (UpLimit - LwLimit) + LwLimit
End Function
并查询为:
UPDATE Table1 SET Table1.time2 = RanNumBtw(10,20,[id]), Table1.tim1 = RanNumBtw(10,20,[id])
WHERE (((Table1.id1) In (101,102)));
如果每行的参数相同,则访问兑现函数结果。
我如何编写 MS 访问更新查询来更新 table 使用随机唯一编号但在特定范围内的记录。
这是我需要帮助的
之前的问题
id id1 time2 tim1
1 101 8.12 9.11
2 102 8.20 9.45
3 103 8.31 9.12
4 104 8.10 9.10
5 105 8.55 9.43
在 运行 查询之后
UPDATE Table1 SET Table1.time2 = RanNumBtw(10,20), Table1.tim1 = RanNumBtw(10,20)
WHERE (((Table1.id1) In (101,102)));
我不需要的输出
id id1 time2 tim1
1 101 13 13
2 102 13 13
3 103 8.31 9.12
4 104 8.10 9.10
5 105 8.55 9.43
我需要什么作为输出
id id1 time2 tim1
1 101 13 16
2 102 19 11
3 103 8.31 9.12
4 104 8.10 9.10
5 105 8.55 9.43
现在的问题是我需要做的是根据 id1 列在特定范围内更新 time2 列和 tim1 列。
就像其中 id1 是 101,102 更新 time2 在(8.10 到 8.30)之间和 tim1 在(9.10 到 9.30)之间更新为随机唯一编号。
我试过 vb 生成指定范围内数字的函数,但它一次又一次地更新为相同的数字
Public Function RanNumBtw(ByVal LwLimit As Long, ByVal UpLimit As Long) As Long
Randomize
RanNumBtw = Rnd * (UpLimit - LwLimit) + LwLimit
End Function
此函数的作用是再次为所有单元格提供相同的数字
查询或vb代码会有所帮助
感谢
将您的函数更改为:
Public Function RanNumBtw(LwLimit As Long, UpLimit As Long, RandInit As Long) As Long
Randomize RandInit + Now()
RanNumBtw = Rnd * (UpLimit - LwLimit) + LwLimit
End Function
并查询为:
UPDATE Table1 SET Table1.time2 = RanNumBtw(10,20,[id]), Table1.tim1 = RanNumBtw(10,20,[id])
WHERE (((Table1.id1) In (101,102)));
如果每行的参数相同,则访问兑现函数结果。