daddyel
Messages postés2Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention 2 janvier 2006
-
22 nov. 2004 à 17:39
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
22 nov. 2004 à 18:23
Bonjour,
J'ai cherché une demi-journée en vain et sans résultat, voici mon problème:
J'ai dans un programme une fonction switch qui quand elle est exécuter arrête mon programme et me renvoie la valeur "Invalid
use of null".
Voici la portion du programme relative à cet incident.
Si vous avez une idée ça m'aidera bien quitte à remplacer cette fonction par une autre mais comment?
dim lavar As DAO.Recordset
Set lavar = DB.OpenRecordset("la table", dbOpenSnapshot)
lavar.MoveFirst
Do While Not lavar.EOF
Select Case lavar("Capital")
Case Is <= 0
MsgBox "Erreur de données : capital <=0 pour sinistre/police" + Str(lavar("SINNR")) + " /" + Str(lavar("POLNR"))
iRange = 1
Case 1 To 250000
iRange = 1
Case 250001 To 500000
iRange = 2
Case 500001 To 1250000
iRange = 3
Case 1250001 To 2500000
iRange = 4
Case 2500001 To 5000000
iRange = 5
Case 5000001 To 60000000
iRange = 6
Case 60000001 To 125000000
iRange = 7
Case Is > 125000000
iRange = 8
End Select
i Switch(lavar("Nom du champ") "Valeur1", 1, lavar("Nom du champ") = "Valeur2", 2, lavar("Nom du champ") = "Valeur3", 3,
lavar("Nom du champ") "Valeur4", 4, lavar("Nom du champ") "Valeur5", 5, lavar("Nom du champ") = "Valeur6", 6, lavar("Loss
cause") "Valeur8", 8, lavar("Nom du champ") "Valeur9", 9, lavar("Nom du champ") = "Valeur10", 10, lavar("Nom du champ") =
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 nov. 2004 à 18:09
Salut daddyel
-1- Bien que ça n'ait pas de rapport (je pense), pour utiliser les champs associés à un RecordSet, la syntaxe est :
lavar!NomChamp ' ou
lavar![Nom Champ] ' si le nom du champ à des espaces, ou
lavar.Fields(NoDuChamp) ' pour y accéder par n° d'ordre du champ dans la requète
-2- Sinon, à la place de Switch, tu peux utiliser :
Select Case lavar![Nom du champ]
Case "Valeur1" : i = 1
Case "Valeur2" : i = 2
...
End Select
Vala
Jack
NB : Je ne répondrai pas aux messages privés
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 nov. 2004 à 18:23
Salut,
Peu etre faut il teste aussi si tes champ on la valeur NULL en utilisant la fonction IsNull(lavar!NomChamp)
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------