type de données incompatibles dans l'expression du critère
4 réponses
Davy Crockett
Bonjour,
Dans Access 2007 J'exécute la requete suivante :
"SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE
racinecompte([F1])='467'"
où la fonction racinecompte correspond au code suivant :
Dim mytab(50)
Dim compte As String
Dim nbchaine As Long
nbchaine = Len(texte)
j = 0
For i = 1 To nbchaine
mytab(i) = Mid(texte, nbchaine - i + 1, 1)
Next i
For i = 1 To nbchaine
If j = 0 Then
If mytab(i) <> 0 Then
compte = mytab(i) & compte
j = 1
ElseIf i = nbchaine - 2 And mytab(i) = 0 Then
compte = mytab(i) & compte
j = 1
End If
Else
compte = mytab(i) & compte
End If
Next i
racinecompte = compte
A l'exécution de la requete, j'ai le message suivant :
type de données incompatibles dans l'expression du critère
Je ne vois pas ce qui provoque une telle erreur. Pourriez vous
m'éclairer ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel__D
Bonjour,
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _ racinecompte("4670000") End Sub
Davy Crockett a écrit :
Bonjour,
Dans Access 2007 J'exécute la requete suivante :
"SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE racinecompte([F1])='467'"
où la fonction racinecompte correspond au code suivant : Dim mytab(50) Dim compte As String Dim nbchaine As Long nbchaine = Len(texte) j = 0 For i = 1 To nbchaine mytab(i) = Mid(texte, nbchaine - i + 1, 1) Next i For i = 1 To nbchaine If j = 0 Then If mytab(i) <> 0 Then compte = mytab(i) & compte j = 1 ElseIf i = nbchaine - 2 And mytab(i) = 0 Then compte = mytab(i) & compte j = 1 End If Else compte = mytab(i) & compte End If Next i racinecompte = compte
A l'exécution de la requete, j'ai le message suivant : type de données incompatibles dans l'expression du critère
Je ne vois pas ce qui provoque une telle erreur. Pourriez vous m'éclairer ?
Merci
Bonjour,
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test
MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _
racinecompte("4670000")
End Sub
Davy Crockett a écrit :
Bonjour,
Dans Access 2007 J'exécute la requete suivante :
"SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE
racinecompte([F1])='467'"
où la fonction racinecompte correspond au code suivant :
Dim mytab(50)
Dim compte As String
Dim nbchaine As Long
nbchaine = Len(texte)
j = 0
For i = 1 To nbchaine
mytab(i) = Mid(texte, nbchaine - i + 1, 1)
Next i
For i = 1 To nbchaine
If j = 0 Then
If mytab(i) <> 0 Then
compte = mytab(i) & compte
j = 1
ElseIf i = nbchaine - 2 And mytab(i) = 0 Then
compte = mytab(i) & compte
j = 1
End If
Else
compte = mytab(i) & compte
End If
Next i
racinecompte = compte
A l'exécution de la requete, j'ai le message suivant :
type de données incompatibles dans l'expression du critère
Je ne vois pas ce qui provoque une telle erreur. Pourriez vous m'éclairer ?
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _ racinecompte("4670000") End Sub
Davy Crockett a écrit :
Bonjour,
Dans Access 2007 J'exécute la requete suivante :
"SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE racinecompte([F1])='467'"
où la fonction racinecompte correspond au code suivant : Dim mytab(50) Dim compte As String Dim nbchaine As Long nbchaine = Len(texte) j = 0 For i = 1 To nbchaine mytab(i) = Mid(texte, nbchaine - i + 1, 1) Next i For i = 1 To nbchaine If j = 0 Then If mytab(i) <> 0 Then compte = mytab(i) & compte j = 1 ElseIf i = nbchaine - 2 And mytab(i) = 0 Then compte = mytab(i) & compte j = 1 End If Else compte = mytab(i) & compte End If Next i racinecompte = compte
A l'exécution de la requete, j'ai le message suivant : type de données incompatibles dans l'expression du critère
Je ne vois pas ce qui provoque une telle erreur. Pourriez vous m'éclairer ?
Merci
Davy Crockett
Michel__D avait écrit le 10/01/2009 :
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _ racinecompte("4670000") End Sub
Ca donne : string 467
Michel__D avait écrit le 10/01/2009 :
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test
MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _
racinecompte("4670000")
End Sub
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _ racinecompte("4670000") End Sub
Ca donne : string 467
Bonjour, est ce que F1 est également de type text ? @+
Eric
Bonjour,
Je pense que pour 1 enregistrement au moins de la table FiltreN, le champ F1 est Null. Que se passe-t-il si tu modifies le sql en : SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE racinecompte([F1])='467' and not isnull(F1);
Davy Crockett a écrit :
Michel__D avait écrit le 10/01/2009 :
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _ racinecompte("4670000") End Sub
Ca donne : string 467
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Je pense que pour 1 enregistrement au moins de la table FiltreN, le
champ F1 est Null.
Que se passe-t-il si tu modifies le sql en :
SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE
racinecompte([F1])='467' and not isnull(F1);
Davy Crockett a écrit :
Michel__D avait écrit le 10/01/2009 :
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test
MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _
racinecompte("4670000")
End Sub
Ca donne :
string
467
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je pense que pour 1 enregistrement au moins de la table FiltreN, le champ F1 est Null. Que se passe-t-il si tu modifies le sql en : SELECT racinecompte([F1]) AS mycpte, filtreN.F2 FROM filtreN WHERE racinecompte([F1])='467' and not isnull(F1);
Davy Crockett a écrit :
Michel__D avait écrit le 10/01/2009 :
Rajoute et exécute ce code et dis-nous ce que cela donne :
Sub Test MsgBox TypeName(racinecompte("4670000")) & vbcrlf & _ racinecompte("4670000") End Sub
Ca donne : string 467
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr