Requete SQL (champ dat de type dateTime)

code_vb_source Messages postés 44 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 31 mars 2011 - 24 juin 2009 à 16:33
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 - 13 sept. 2010 à 22:10
salem 3alikom,
comment tester la valeur d'une date de type DateTime dans une requete sous VB.NET.
cé "select * from table where champ_date = ..." ???
et merci d'avance.

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 juin 2009 à 16:42
salut,
en mettant ta date entre deux #
0
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
24 juin 2009 à 16:46
Salut
Comme souvent répété dans ce forum : les valeurs de dates doivent être encadrées par des # si le champ est déclaré comme date dans la DB
   Select * From maTable Where champ_date Between #01/12/2006# And #05/23/2008#
   Select * From maTable Where champ_date > #01/12/2006#
Mettre les heures si besoin
Rappel : les dates sont stockées au format américain sous Access.
SQL Server : Voir paramétrage de localisation

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
code_vb_source Messages postés 44 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 31 mars 2011
24 juin 2009 à 16:54
selem,
SVP je n'ai pas une valeur de date statique comme dans votre exemple, mais plutot une date variable.
et merci d'avance.
0
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
24 juin 2009 à 19:31
Re
Et bien tu remplaces le texte par ta variable, pardi !
Exemple : 
   maRequete = "Select * From maTable Where champ_date > #" & maVariableAuFormatDate & "#"

Veux-tu que j'appuies aussi sur les touches de ton clavier ?
0

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

Posez votre question
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
13 sept. 2010 à 09:51
bonjour

Je viens sur votre discussion car j'ai un souci avec une commande SELECT pour obtenir dans l'ordre décroissant les enregistrements d'un historique, mais voila que cela trie de manière descendante la date mais l'heure est trié par ordre croissant ce qui fausse le résultat de la réquête.

Donc dans ma base ACCESS géré via VB.NET 2010, et pour chaque enregistrement j'ai un champ de type char et un autre de type DATE/HEURE.

voici ma requete :

SELECT * FROM Hist WHERE nomuser <>'' ORDER BY dateheurepassage DESC

Résultat de la commande j'ai bien une liste décroissante par la date mais pas pour les heures

du coup j'ai au début de la liste :
user1 10/12/2010 10:05
user2 10/12/2010 09:55

alors que je souhaiterai que ce soit l'inverse soit :
user2 10/12/2010 09:55
user1 10/12/2010 10:05

donc il doit probablement me manquer quelque chose pour indiquer que les heures soient classé par ordre descroissant, mais je vois pas quoi mettre, malgré mes requetes sur les moteurs de recherche

Merci d'avance pour votre aide




bidouille007
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 sept. 2010 à 19:10
salut,

la requête par elle-même te renvoie un résultat juste
10h05 est bien > à 9h55

si tu veux séparer, forcément faut séparer

voir si access a bien ces fonctions (normalement oui mais je ne sais plus...), çà devrait ressembler à quelque chose du genre :

SELECT * 
FROM Hist 
WHERE nomuser IS NOT NULL
ORDER BY date(dateheurepassage) DESC, time(dateheurepassage) ASC ;


++
[hr]
0
cs_bidouille007 Messages postés 257 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 22 décembre 2012 1
13 sept. 2010 à 22:10
Merci PCPT

Je me suis douté de la réponse au fil de la journée et effectivement pour un résultat sans avoir à gérer cela par le code, il me faudra changé le code pour gérer des dates identiques avec une différente.

Merci de tes lumières


bidouille007
0
Rejoignez-nous