在 Access 中生成随机字母数字字符串后检查重复项

Posted

技术标签:

【中文标题】在 Access 中生成随机字母数字字符串后检查重复项【英文标题】:checking for duplicates after generating random alphanumeric string in Access 【发布时间】:2018-10-16 21:03:08 【问题描述】:

我正在使用这个功能:

https://www.devhut.net/2010/06/22/ms-access-vba-generate-a-random-string/

通过我的表单创建一个随机的字母数字字符串。

这需要是唯一的,所以我需要它来检查列中的唯一性,如果它不是唯一的,则重新生成一个新字符串。如果有更好的方法来生成字符串,我不会与这段代码结婚。

【问题讨论】:

对生成的字符串执行 DLookup()。 你能详细说明一下如何做到这一点吗? 调用函数的过程中的条件代码:If IsNull(DLookup("fieldname", "tablename", "fieldname='" & GetRandomString(,,,) & "'")) Then @June7 它不断返回一个无效的语法错误
  = If IsNull(DLookup("userentry", "tamountupd", "userentry='" & GetRandomStr(6 ,True,False,True) & "'")) 然后
为我工作。编辑您的问题以发布完整的调用过程代码。 【参考方案1】:

你可以这样做:

Dim Criteria As String
Dim NotFound As Boolean

Do
    RandomString = GetRandomString(StringLength, False, True, False)
    Criteria = "[YourField] = '" & RandomString & "'"
    NotFound = IsNull(DLookup("[YourField]", "[YourTable]", Criteria))
Loop Until NotFound

【讨论】:

以上是关于在 Access 中生成随机字母数字字符串后检查重复项的主要内容,如果未能解决你的问题,请参考以下文章

在Java中生成字母数字随机字符串[重复]

在C#中生成随机大写字母,同时检查每个都只生成一对

在java中生成随机字符串[重复]

如何在 Postgres 9.6+ 中生成长度为 N 的随机、唯一的字母数字 ID?

在shell脚本中生成必须具有特殊字符的随机字符串

JavaScript中的随机字母数字字符串?