cs_chat84
Messages postés5Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention 1 juin 2006
-
22 mai 2006 à 16:02
cs_chat84
Messages postés5Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention 1 juin 2006
-
23 mai 2006 à 13:07
Bonjour,
J'essaye dans un formulaire de sortir les enregistrements qui sont entre deux dates entrées dans des textbox. (rcomplaintdate1 et rcomplaintdate2) le champ qui contient la date dans la table est "complaintdate"
lorsque je teste, access plante sur les lignes rouges. il marque Type mismatch. Je comprend pas ou est l'erreur.
Quelqu'un aurait une idée ?
Merci pour votre aide
private sub filtre_click()
f = ""
If Not IsNull(Me.rcomplaintdate1) And Me.rcomplaintdate1 <> "" And Not IsNull(Me.rcomplaintdate2) And Me.rcomplaintdate2 <> "" Then
If f <> "" Then
f = f & " AND clng([complaintdate]) BETWEEN " & CLng(Me.rcomplaintdate1) & " And " & CLng(Me.rcomplaintdate2) & """"
Else
f = "Clng([complaintdate]) BETWEEN " & CLng(Me.rcomplaintdate1) & " AND " & CLng(Me.rcomplaintdate2) & ""
End If
End If
cs_chat84
Messages postés5Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention 1 juin 2006 23 mai 2006 à 13:07
J'ai réussi en faisant comme ca, et tu avais raison, il faut utiliser les #
Merci et A+
Chat
If Not IsNull(Me.rcomplaintdate2) And Me.rcomplaintdate2 <> "" Then
Dim vDebut, vFin As String
vDebut = "#" & Month(rcomplaintdate1) & "/" & Day(rcomplaintdate1) & "/" & Year(rcomplaintdate1) & "#"
vFin = "#" & Month(rcomplaintdate2) & "/" & Day(rcomplaintdate2) & "/" & Year(rcomplaintdate2) & "#"
If f <> "" Then
f = f & " AND complaintdate between " & vDebut & " and " & vFin & ""
Else
f = "complaintdate between " & vDebut & " and " & vFin & ""
End If
End If
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 mai 2006 à 20:23
Salut
Je connais pas trand chose à VBA, mais les dates ne sont pas des Long, mais des types Date.
Donc, n'utilise pas de conversion CLong
Je suppose que c'est de l'Acess :
Les formats de type Date (dans le type de champ de DB) doivent être encadrés par des #
Exemple :
" AND [complaintdate] BETWEEN #" & Me.rcomplaintdate1 & "# And #" & Me.rcomplaintdate2 & "#"
+ A quoi sert le quadruple " à la fin de ta 1ere ligne rouge ? --> à insérer un simple " dans ta chaine
Mais pourquoi ? aucun début de chaine n'a été inséré avant ! Là, c'est sûr, la syntaxe n'est pas redondante, donc ne marchera pas.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accro
kalobit
Messages postés169Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention 7 avril 20082 23 mai 2006 à 12:01
salut, visiblement tu cherche la syntaxe de la requète sql
Alors crée la requète en mode assistant, ensuite passe en mode création et regarde le code sql de la requête. tu n'aura plus qu'a changer les dates par les valeurs de tes contrôles.
+++++
[mailto:K@lobit K@lobit] < Ne pas clicker ici
Mon Site < Mais ici