Requete SQL de comparaison de date: HELP
Fermé
sfeltan
Messages postés
29
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
1 mai 2007
-
2 févr. 2007 à 09:34
ludo96x - 2 oct. 2008 à 19:57
ludo96x - 2 oct. 2008 à 19:57
A voir également:
- Requete SQL de comparaison de date: HELP
- Airpods 3 date de sortie - Guide
- Whatsapp date incorrecte ✓ - Forum Mobile
- Publipostage date de naissance inversée ✓ - Forum Word
- Récupération serveur sql - Télécharger - Gestion de données
5 réponses
blux
Messages postés
26326
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
3 octobre 2024
3 300
2 févr. 2007 à 10:00
2 févr. 2007 à 10:00
Salut,
ton problème se situe à quel niveau ?
SQL ou C++
Parce qu'en SQL, tu testes la date du jour avec now().
ton problème se situe à quel niveau ?
SQL ou C++
Parce qu'en SQL, tu testes la date du jour avec now().
SELECT toto FROM tab WHERE Madate >= formatdatetime(Now() ,0);
sfeltan
Messages postés
29
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
1 mai 2007
2 févr. 2007 à 11:39
2 févr. 2007 à 11:39
Le hic c'est que Builder plante quand j'arrive à la requete SQL. En fait le code c++ donne ceci:
Query4->Close();
Query4->SQL->Clear();
Query4->SQL->Add("SELECT * UPDATE Train SET Depart = 'Autorisé' WHERE HDepart<=#15:00:00#");
Query4->ExecSQL();
La partie C++ est bonne (sinon il y aurait une erreur de compilation), c'est la requéte qui foire (car j'ai essayé des requetes de base comme écrire dans le champ Depart de toutes les lignes et ça marchait).
Bon je viens de tester ce que tu m'a donné. Plantage:
"Le projet a provoqué une classe d'exception EBDEngineError avec le message 'Erreur SQL générale. [Microsoft][Pilote ODBC Microsoft ACCESS] Fonction 'formatdatetime' non définie dans l'expression"
Query4->Close();
Query4->SQL->Clear();
Query4->SQL->Add("SELECT * UPDATE Train SET Depart = 'Autorisé' WHERE HDepart<=#15:00:00#");
Query4->ExecSQL();
La partie C++ est bonne (sinon il y aurait une erreur de compilation), c'est la requéte qui foire (car j'ai essayé des requetes de base comme écrire dans le champ Depart de toutes les lignes et ça marchait).
Bon je viens de tester ce que tu m'a donné. Plantage:
"Le projet a provoqué une classe d'exception EBDEngineError avec le message 'Erreur SQL générale. [Microsoft][Pilote ODBC Microsoft ACCESS] Fonction 'formatdatetime' non définie dans l'expression"
blux
Messages postés
26326
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
3 octobre 2024
3 300
2 févr. 2007 à 11:44
2 févr. 2007 à 11:44
Ta syntaxe SQL n'est pas bonne !
C'est SELECT ou UPDATE, mais pas les deux en même temps...
C'est SELECT ou UPDATE, mais pas les deux en même temps...
sfeltan
Messages postés
29
Date d'inscription
vendredi 2 février 2007
Statut
Membre
Dernière intervention
1 mai 2007
5 févr. 2007 à 14:19
5 févr. 2007 à 14:19
Voila ma requéte actuelle:
UPDATE Train SET Depart = 'Autorisé' WHERE HDepart > formatdatetime(Now(),0)
L'erreur:
Le projet a provoqué une classe d'exception EBDEngineError avec le message 'Erreur SQL générale. [Microsoft][Pilote ODBC Microsoft ACCESS] Fonction 'formatdatetime' non définie dans l'expression
UPDATE Train SET Depart = 'Autorisé' WHERE HDepart > formatdatetime(Now(),0)
L'erreur:
Le projet a provoqué une classe d'exception EBDEngineError avec le message 'Erreur SQL générale. [Microsoft][Pilote ODBC Microsoft ACCESS] Fonction 'formatdatetime' non définie dans l'expression
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici ta réponse,
Fonctionne en requête SQL sous Access, pas testé sous Builder mais il n'y a aucune raison pour que ça ne fonctionne pas.
WHERE (((table.jour)<DateSerial(Hour(Now()),Minute(Now()),Second(Now()))))
En complément voici comment procéder si tu voudrais que ta condition soit supérieur à aujourd'hui
WHERE (((table.jour)>DateSerial(Year(Now()),Month(Now()),Day(Now()))))
Fonctionne en requête SQL sous Access, pas testé sous Builder mais il n'y a aucune raison pour que ça ne fonctionne pas.
WHERE (((table.jour)<DateSerial(Hour(Now()),Minute(Now()),Second(Now()))))
En complément voici comment procéder si tu voudrais que ta condition soit supérieur à aujourd'hui
WHERE (((table.jour)>DateSerial(Year(Now()),Month(Now()),Day(Now()))))