在 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 中生成随机字母数字字符串后检查重复项的主要内容,如果未能解决你的问题,请参考以下文章