• Status: Solved
• Priority: Medium
• Security: Public
• Views: 184
• Last Modified:

# Creating a random (non-duplicated) user id number.

Is there a way whereby I can create a random ID number(of 5 or plus digits - numbers or letters) in VB. As long none of them are the same.

Is there an algorithm or function I can use? I don't know if Rnd can do the trick.

Thanks

Hannes

0
hannes1
Asked:
1 Solution

Commented:
Hi,

Try this:

Dim myArray() As Long
Dim i As Long, j As Long

Private Sub Command1_Click()
GetRandomID 100
End Sub

Private Sub GetRandomID(ByVal iRange As Long)
Erase myArray
Randomize
For i = 0 To iRange - 1
j = Format\$(Int(Rnd * 100000), "00000")
Debug.Print j
Next i
End Sub
0

Commented:
i dont think u can really rely on generating unique random numbers.well u can try generating GUIDs.that will be unique globally.
0

Commented:
sorry just not see carefully about "non-duplicated".

See this:
http://www.vbcode.com/asp/showsn.asp?theID=407

http://www.vbcode.com/asp/showsn.asp?theID=173
0

Commented:
Hi!

This is the code that I gave some time ago.  Chances are, it shouldn't be duplicated:

Dim myNumber As String, temp As Integer

For i = 0 To 9

Randomize
temp = Rnd * 10
If temp \ 2 = temp / 2 Then
myNumber = myNumber & Chr(48 + Int(Rnd * 10))
Else

Randomize
temp = Rnd * 10
If temp / 2 = temp \ 2 Then
myNumber = myNumber & Chr(65 + Rnd * 26)
Else
myNumber = myNumber & LCase(Chr(65 + Rnd * 26))
End If
End If

Next i

MsgBox myNumber

The thing is, using Randomize would make it more random.

That's it!

glass cookie : )
0

Author Commented:
It works fine for me.

Thanks

Hannes
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

## Featured Post

Tackle projects and never again get stuck behind a technical roadblock.