Séquence aléatoire
Par Hervé Inisan le mercredi 10 mars 2010, 08:40 - Visual Basic - Lien permanent
Question posée sur le forum self-access.com : comment générer automatiquement une séquence aléatoire de la forme
110 23459 875? Avec les espaces toujours au même emplacement ?
La fonction
Recopiez la fonction suivante dans un module standard de votre base de données :Function SuiteAleatoire() As String
Dim intI As Integer, strResultat As String
Randomize
strResultat = ""
For intI = 1 To 11
If intI = 4 Or intI = 9 Then
strResultat = strResultat & " "
End If
strResultat = strResultat & Int(Rnd * 10)
Next
SuiteAleatoire = strResultat
End Function
Dim intI As Integer, strResultat As String
Randomize
strResultat = ""
For intI = 1 To 11
If intI = 4 Or intI = 9 Then
strResultat = strResultat & " "
End If
strResultat = strResultat & Int(Rnd * 10)
Next
SuiteAleatoire = strResultat
End Function
Exploiter la fonction
Pour tester la fonction :
- Faites apparaître la fenêtre Exécution (
CTRL+G). - Tapez dans cette fenêtre :
? SuiteAleatoire()puis appuyez sur la touche[Entrée].
- dans un champ calculé de requête
- dans un champ calculé de formulaire ou d'état
- et bien sûr dans une portion de code Visual Basic.
La même, mais en différent !
Pour ne pas avoir les espaces dans votre séquence de 11 chiffres, enlevez le If. Ce qui donne :
Function SuiteAleatoire() As String
Dim intI As Integer, strResultat As String
Randomize
strResultat = ""
For intI = 1 To 11
strResultat = strResultat & Int(Rnd * 10)
Next
SuiteAleatoire = strResultat
End Function
Dim intI As Integer, strResultat As String
Randomize
strResultat = ""
For intI = 1 To 11
strResultat = strResultat & Int(Rnd * 10)
Next
SuiteAleatoire = strResultat
End Function




Nouveau !
Commentaires