espsl25
Messages postés3Date d'inscriptionmardi 1 avril 2003StatutMembreDernière intervention10 mai 2011
-
10 mai 2011 à 09:54
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
10 mai 2011 à 12:19
bonjour
les requêtes ci après s’exécutent mais elles ne retournent ps des données, j'arrive pas à comprendre pourquoi
set rst3 dbs.OpenRecordset("SELECT volume u FROM table1 WHERE Vanne '" & a & "' AND date1 BETWEEN " & (x - 1) & " AND " & (y + 1) & " ")
X et Y sont des dates
Set rst3 = dbs.OpenRecordset("SELECT veau FROM vanne1 WHERE (date1 <= " & (y - 1) & " and date1 >= " & (x + 1) & ") and Vanne = '" & a & "' ")
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 mai 2011 à 12:17
Salut
"SELECT volume u FROM"
Que sont 'volume' et 'u' ? Deux champs séparés ?
Alors il faut une virgule de séparation
On ne fait pas des soustractions ou additions de date comme cela. Il faut utiliser les fonctions adéquates : DateAdd et DateDiff
Que vaut ta variable 'a' ?
Between est la bonne solution (plutôt que les < And > )
Rappel des règles SQL de base :
Si le champ est déclaré ***dans la table*** de type :
- Texte : Encadrer les valeurs par des apostrophes '
- Date : Encadrer les valeurs par des dièses #
- Numérique : pas d'encadrement
De plus, si le nom d'une table ou d'un champ comporte des caractères spéciaux (accents, espaces ...), il faut encadrer le nom de ces table ou champ par des crochets droits [ et ]
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate) [img]http://allproj