从组合框中访问 VBA 随机值

Posted

技术标签:

【中文标题】从组合框中访问 VBA 随机值【英文标题】:Access VBA random value from combobox 【发布时间】:2016-11-13 11:09:49 【问题描述】:

我有一个链接到表 - ClientT 的客户端代码组合框。

当我单击一个按钮 randomcmd 时,我希望随机客户端代码出现在组合框中。

我的想法是使用 VBA 代码在 ClientT 中查找最大客户端数,然后使用 Rnd 函数在 max 和 0 之间选择一个数字,然后将该数字转换为列表中的一个值。

我只是找不到任何类似的代码可以使用。到目前为止,我只有一个随机生成的数字。

Private Sub Randomcmd_Click()
    ClientCodecmb = Int(999 * Rnd) + 1
End Sub

请帮忙。

【问题讨论】:

【参考方案1】:

如果客户 ID 是组合框的第一列并且这是绑定列,则这样做:

Private Sub Randomcmd_Click()

    Dim MaxCustomerId = 1000 ' Adjust as needed.

    Me!ClientCodecmb.Value = Int((MaxCustomerID + 1) * Rnd

End Sub

【讨论】:

【参考方案2】:
ClientCodecmb = DLookup("[ClientCode]", "ClientT", "Int((DMax('[Autonumber]', 'ClientT')) * Rnd) + 1 = [Autonumber]")

我在表格上添加了一个自动编号字段,上面的代码有效。 查找客户端代码,其中最大自动编号是随机的,= 自动编号在表上。

【讨论】:

嗯,有点。每当您关闭并重新启动应用程序时,组合框都会选择相同的客户序列。

以上是关于从组合框中访问 VBA 随机值的主要内容,如果未能解决你的问题,请参考以下文章

从组合框中选择下一个项目,然后单击 Excel VBA 按钮

通过 vba ms 访问将多值列的数据绑定到组合框中

访问 VBA - 使用组合框(多值字段)时类型不匹配

访问组合框值

使用表单中的组合框中的选定值访问更新表

每次使用 access vba 在第一个组合中选择值时,清除链接组合框中的值