Access 2000, Problème d'Incompatibilité de type alors que je n'ai que des String
dannywilde
Messages postés27Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention30 mars 2009
-
11 juin 2004 à 16:31
dannywilde
Messages postés27Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention30 mars 2009
-
2 juil. 2004 à 11:57
J'ai écrit une macro qui dès que l'on saisie le nom et le prénom, la macro rempli tout les champs du formulaires.
Le problème c'est que j'ai un soucis d'incompatibilité de type alors que je n'ai que des strings.
Les champs dans les tables sont tous de type texte 255 caractères
Donc je sais pas ce qui ne va pas
Voici mon code :
Private Sub Prénom_BeforeUpdate(Cancel As Integer)
Dim varIdent As String, varManager As String, varService As String, varMetier As String
If (Not IsNull(Me![Nom])) Then
If (Not IsNull(Me![Prénom])) Then
c'est la ligne suivante qui m'indique le message d'erreurvarIdent DLookup("Ident", "Base", "Me![Nom] Me![Nom]" And "Me![Prénom] = Me![Prénom]")
If (Not IsNull(varIdent)) Then
Me![Ident] = varIdent
Else
MsgBox "Le champ ident est vide", vbOKOnly, "Erreur"
End IfEnd If
End IfEnd If
End IfEnd If
Me.Refresh
End Sub
Merci
Amicalement votre ;-)
A voir également:
Access 2000, Problème d'Incompatibilité de type alors que je n'ai que des String
Mooiz
Messages postés128Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention 8 juillet 2005 11 juin 2004 à 17:10
C'est pas plutot : varIdent DLookup("Ident", "Base", "Me![Nom] Me![Nom] And Me![Prénom] = Me![Prénom]")
si tu passe en paramètre : "Me![Nom] = Me![Nom]" And "Me![Prénom] = Me![Prénom]"
alors c'est normal qu'il te sorte une incompatibilité de types.
"Me![Nom] = Me![Nom]" est une chaine, mais si tu rajoute quelque chose d'autre après les guillemets sans faire de concatenation, ca devient incomprehensible
D'autre part, si tu mets une chaine "Me![Nom] = Me![Nom]", je pense que ca sera toujours vrai (puisque tu compares une variable avec elle même) et tu ne trouvera pas ce que tu cherche (je me trompe peut être, je n'ai jamais utilisé DLookup)
Le membre de gauche devrait être un nom de colonne je pense.
De plus, pour faire des tests sur des string, il faut mettre des apostrophes si j'ai bien compris :
"Colonne = 'Me![Nom]'"
dannywilde
Messages postés27Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention30 mars 2009 12 juin 2004 à 19:23
Merci beaucoup, en effet pour la comparaison de variable, en fait j'avais changé Me![Nom] = Me![Nom]" pour tester si cela venait de mes variables, au départ c'était Me![Nom]=Nom.
Merci encore de ton aide car j'ai cherché pendant toute une après-midi .
dannywilde
Messages postés27Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention30 mars 2009 17 juin 2004 à 13:10
En remplacant l'ancienne ligne par celle-ci, j'obtiens toujours l'erreur d'incompatibilité de type
varIdent DLookup("Ident", "Base", "'Nom' 'Me![Nom]'" And "'Prénom' = 'Me![Prénom]'")
est ce que t'aurais une idée ?
Amicalement votre ;-)
dannywilde
Messages postés27Date d'inscriptionmercredi 5 juin 2002StatutMembreDernière intervention30 mars 2009 17 juin 2004 à 13:29
et en remplacant l'ancienne ligne par celle-ci, j'obtiens l'erreur utilisation incorrecte de null
varIdent DLookup("Ident", "Base", "'Nom' 'Me![Nom]' And 'Prénom' = 'Me![Prénom]'")
Je vois toujours pas ce qui cloche ?
Amicalement votre ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?