Between date et num

cs_klorel Messages postés 8 Date d'inscription dimanche 28 janvier 2007 Statut Membre Dernière intervention 15 juin 2007 - 14 juin 2007 à 11:58
cs_klorel Messages postés 8 Date d'inscription dimanche 28 janvier 2007 Statut Membre Dernière intervention 15 juin 2007 - 15 juin 2007 à 13:47
bonjour a tous

j'ai un petit probleme que je n'arrive pas a resoudre si vous pourriez m'aider
donc voila mes requettes "simple" s'effectue correctement mais pas moyen de trouver comment fonctionne le between

'**********************************
Dim rsfind As New ADODB.Recordset
rsfind.Open "select * from enregistrement", connex, adOpenDynamic, adLockOptimistic

rsfind.Find "[DateEnr] > '" & DTPicker1.Value & "'"
If rsfind.EOF Then
    MsgBox "Aucun enregistrement Trouver", vbInformation
     Else
If msfind.Text = rsfind.Fields(1) Then
Exit Sub
End If
Do While Not rsfind.EOF
rsfind.Find "[DateEnr] > '" & DTPicker1.Value & "'"
msfind.AddItem rsfind.Fields(0) & vbTab & rsfind.Fields(1) & vbTab & rsfind.Fields(2) _
& vbTab & rsfind.Fields(3) _
& vbTab & rsfind.Fields(4) & vbTab & rsfind.Fields(5) & vbTab & rsfind.Fields(6)
rsfind.MoveNext
Loop
End If

lorsque j'effectue cette requette il me donne bien tout mes enregistrements qui sont superieur a la date inscrite dans DTpicker1
mais là il ne me donne rien avec sa
rsfind.Find "[DateEnr] > '" & DTPicker1.Value & "' and < '" & DTPicker2.Value & "'"
ou encore
rsfind.Find "[DateEnr] between '"& DTPicker1.Value & "' and  '" & DTPicker2.Value & "'"

j'utilise VB6 avec connection a une base mysql
si quelqu'un pourrai ralumer ma lenterne car là ellle s'eteind petit a petit
merci

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
14 juin 2007 à 12:05
#MM/DD/YYYY#

"[DateEnr] > #" & Format$(DTPicker1.Value,"MM\/DD\/YYYY") & "# and < #" & Format$(DTPicker2.Value,"MM\/DD\/YYYY")& "#"

80% des messages qui traitent d'erreurs en SQL etc sur le forum sont en fait du a ce que les dates ne sont pas correctement formattées....

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
14 juin 2007 à 12:06
Salut,

Essaye cela :

rsfind.Open "select * from enregistrement WHERE DateEnr BETWEEN '"& DTPicker1.Value & "' and  '" & DTPicker2.Value & "'", connex, adOpenDynamic, adLockOptimistic

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_klorel Messages postés 8 Date d'inscription dimanche 28 janvier 2007 Statut Membre Dernière intervention 15 juin 2007
14 juin 2007 à 13:43
vos 2 reponse ne fonctionne pas enfin pas dans mon application

merci quand meme
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
14 juin 2007 à 13:50
lol, je viens de lire la grosse mechante erreur ^^

"[DateEnr] > '" & DTPicker1.Value & "' and < '" & DTPicker2.Value & "'"

tu veux pas dire plutot :

"[DateEnr] > '" & DTPicker1.Value & "' and [DateEnr] < '" & DTPicker2.Value & "'"

(en respectant le formatage que je t'ai indiqué plus haut)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
14 juin 2007 à 13:52
NB:

pas confondre

If a > 5 And < 2
ou
If  2 < a < 5

et

If a > 5 And a < 2

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_klorel Messages postés 8 Date d'inscription dimanche 28 janvier 2007 Statut Membre Dernière intervention 15 juin 2007
14 juin 2007 à 14:17
 bonne logique

mais sa ne fonctionne pas egalement

saleter de between toutes les autre requetes ji arrive sauf 2
le recherche par intervale des numero d'enregistremet et par les dates d'enregistrement

je bloque car il faut un nombres de reponse entre 2 valeur soit date soit entier
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
14 juin 2007 à 16:15
fais ca dans une requete plutot que dans ton Find, vu que les autres enregistrements, tu t'en fiches....

ce sera moins restricictif, et plus rapide (pas besoin de te transmettre les infos des enregistrements supprimés)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
ordynho Messages postés 35 Date d'inscription vendredi 26 janvier 2007 Statut Membre Dernière intervention 22 octobre 2009
14 juin 2007 à 16:42
Salut,

Verifie bien si dans ta base de données il existe des enregistrements
correspondants aux criteres de selection de ta requete.
Si il en existe c'est que le probleme n'est pas au niveau du code.
Cherche au niveau des proprités des controls utilisés.

<<< >>> Je vous aime!
0
cs_klorel Messages postés 8 Date d'inscription dimanche 28 janvier 2007 Statut Membre Dernière intervention 15 juin 2007
15 juin 2007 à 13:47
bonjour a tous

ordynho pas la peine d'ecrire en gras et en gros je vois tres bien!!
et avant de poster pour mom probleme de syntaxe j'ai verifié si j'avais deja des enregistrements au critere demander

au lieu de faire un between ou un  > <
je suis passer par autre chose

rsfind.Find "[DateEnr] >= #" & Format$(DTPicker1.Value, "yyyy-MM-dd") & "#"
If rsfind.EOF Then
    MsgBox "Aucun enregistrement Trouver", vbInformation
 Exit Sub
End If
Do While Not rsfind.EOF



rsfind.Find "[DateEnr] >= #" & Format$(DTPicker1.Value, "yyyy-MM-dd") & "#"

If (rsfind.Fields(1) <= DTPicker2.Value) Then

msfind.AddItem rsfind.Fields(0) & vbTab & rsfind.Fields(1) & vbTab & rsfind.Fields(2) _
& vbTab & rsfind.Fields(3) _
& vbTab & rsfind.Fields(4) & vbTab & rsfind.Fields(5) & vbTab & rsfind.Fields(6)
rsfind.MoveNext
Else
rsfind.MoveNext
End If
Loop

l'inconveniant c'est que je passe dans tout les enregistrements qui sont >= a mon DTPicker1
donc au debut pas trop de probleme mais une fois plein d'enregistrement effectuer la boucle sera tres longue
0