Supportnet / Forum / Datenbanken
Zufallszahl nach KLICK
Frage
Hallöchen,
ich benötige mal wieder professionelle Hilfe. In einer Datenbank sind verschiedene Tabellen. Innerhalb einer Tabelle ist eine JA/NEIN Abfrage. Wenn der User nun ein Häkchen macht, soll automatisch in einem noch zu erfindenen Feld eine Zufallszahl erscheinen, die mit einem Buchstaben beginnt.
Buchstabe deshalb, weil es mehrere Tabellen mit dem selben Inhalt gibt, die Zufallszahlen sich aber auch innerhalb der verschiedenen Tabellen nie wiederholen dürfen.
Also in Tabelle 1 nach Haken meinetwegen "A65456" und in Tabelle 2 "B56841". Es reichen ein Buchstabe und fünf Ziffern.
Wenn da aber wieder der Haken rausgenommen wird, muss auch die Nummer wieder aus der Tabelle raus, muss aber nicht neu zur Verfügung stehen, kann aber.
Vielen Dank im voraus
Der Markus
Antwort 1 von Marie
http://groups.google.de/group/microsoft.public.de.access/browse_thr...
Schau mal hier, den Code kannste für Dich umbosseln wie Du ihn brauchst.
Gruß marie
Schau mal hier, den Code kannste für Dich umbosseln wie Du ihn brauchst.
Gruß marie
Antwort 2 von erik
Hallo Markus,
wenn jeder Zufallswert in allen Tabellen einzigartig sein soll, dann musst du nach jeder Zahlenermittlung in allen Tabellen nachschauen, ob der Zufallswert dort nicht bereits vorhanden ist. Unter Umständen führt das zu spürbaren Geschwindigkeitseinbußen, je nachdem, wieviel zu prüfen ist. Es ist bei der Größenordnung zwar äußerst unwahrscheinlich, dasss sich eine Zufallszahl wiederholt, aber wer weiß. :-)
Die folgende Funktion liefert genau das Ergebnis, das du brauchst.
Um den Wert zu ermitteln bzw. wieder zu entfernen, reicht vermutlich ein Gerüst wie dieses:
Gruß
erik
wenn jeder Zufallswert in allen Tabellen einzigartig sein soll, dann musst du nach jeder Zahlenermittlung in allen Tabellen nachschauen, ob der Zufallswert dort nicht bereits vorhanden ist. Unter Umständen führt das zu spürbaren Geschwindigkeitseinbußen, je nachdem, wieviel zu prüfen ist. Es ist bei der Größenordnung zwar äußerst unwahrscheinlich, dasss sich eine Zufallszahl wiederholt, aber wer weiß. :-)
Die folgende Funktion liefert genau das Ergebnis, das du brauchst.
Public Function RandomValue() As String
Dim strLetter As String
Dim strNumber As String
Randomize
'Zufallszwahl zwischen 65 u. 90 erzeugen = ANSI-Werte von A-Z
strLetter = Chr(Int((26 * Rnd) + 65))
'Zufallszahl zwischen 1 u. 99999 erzeugen
strNumber = Format(Int((99999 * Rnd) + 1), "00000")
RandomValue = strLetter & strNumber
End FunctionUm den Wert zu ermitteln bzw. wieder zu entfernen, reicht vermutlich ein Gerüst wie dieses:
If Me.chkMeineCheckBox = True Then
Me.txtMeineZufallszahl = RandomValue()
Else
Me.txtMeineZufahlsszahl = Null
End IfGruß
erik

