Requete

espsl25 Messages postés 3 Date d'inscription mardi 1 avril 2003 Statut Membre Dernière intervention 10 mai 2011 - 10 mai 2011 à 09:54
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 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 & "' ")

Merci

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
10 mai 2011 à 12:19
Bonjour,

x+1 et y+1, ça donne quoi comme code ? Car ajouter ou retirer 1 à une date n'a pas de sens (minutes, heures, jours, ...).

Ensuite, tu ne précise pas le SGBD que tu utilises.

Mon site
0
Rejoignez-nous