[ORACLE] Intérogation SQL via VBA/ADODB
Résolu/Fermé
Ti-Gars
Messages postés
7
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
8 juin 2007
-
22 mai 2007 à 18:05
Ti-Gars Messages postés 7 Date d'inscription lundi 21 mai 2007 Statut Membre Dernière intervention 8 juin 2007 - 25 mai 2007 à 14:11
Ti-Gars Messages postés 7 Date d'inscription lundi 21 mai 2007 Statut Membre Dernière intervention 8 juin 2007 - 25 mai 2007 à 14:11
A voir également:
- [ORACLE] Intérogation SQL via VBA/ADODB
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Via michelin carte - Télécharger - Transports & Cartes
- Datediff oracle ✓ - Forum Oracle
- Find vba - Astuces et Solutions
- Blob sql ✓ - Forum Webmastering
3 réponses
Une autre solution serait de mettre des colonnes pour chaque nombres : année , jour et mois ainsi tu n'aurais pas à te soucier de la version ou de la langue des programmes
Ti-Gars
Messages postés
7
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
8 juin 2007
22 mai 2007 à 18:59
22 mai 2007 à 18:59
Merci Pretender...
Mais je ne suis pas sûr de comprendre...
Voici ma requête SQL :
"SELECT * FROM MaTable WHERE DateFacture >= ' " & Format(strDateDébut, "yyyy/mm/dd") & " ' AND DateFacture <= ' " & Format(strDateFin, "yyyy/mm/dd") & " ' "
Ce que tu proposes serait :
"SELECT * FROM MaTable WHERE Substr(DateFacture,7,2) >= 'année' AND Substr(DateFacture,4,2) >= 'mois' AND ...etc
????
Si cela est le cas, j'aurais un problème avec le mois et le jour car >= Mars va éliminer janvier et février si mon intérogation porte sur plus de 10 mois...
SVP m'expliquer ton idée...
J'espère beaucoup que cela va marcher...
Mais je ne suis pas sûr de comprendre...
Voici ma requête SQL :
"SELECT * FROM MaTable WHERE DateFacture >= ' " & Format(strDateDébut, "yyyy/mm/dd") & " ' AND DateFacture <= ' " & Format(strDateFin, "yyyy/mm/dd") & " ' "
Ce que tu proposes serait :
"SELECT * FROM MaTable WHERE Substr(DateFacture,7,2) >= 'année' AND Substr(DateFacture,4,2) >= 'mois' AND ...etc
????
Si cela est le cas, j'aurais un problème avec le mois et le jour car >= Mars va éliminer janvier et février si mon intérogation porte sur plus de 10 mois...
SVP m'expliquer ton idée...
J'espère beaucoup que cela va marcher...
Ce que je proposais c'etait d'abandonner le "date" et de faire trois champs "int". En requete ca ce traduirait par
CREATE TABLE Facture ( .......,
.......,
jour int NOT NULL,
mois int NOT NULL,
annee int NOT NULL);
C'est sur que c'est plus pratique avec 'date' mais si tu as des problemes de compatibilité, c'est comme ca que je ferais en gerant apres les champs un à un.
CREATE TABLE Facture ( .......,
.......,
jour int NOT NULL,
mois int NOT NULL,
annee int NOT NULL);
C'est sur que c'est plus pratique avec 'date' mais si tu as des problemes de compatibilité, c'est comme ca que je ferais en gerant apres les champs un à un.
Ti-Gars
Messages postés
7
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
8 juin 2007
23 mai 2007 à 12:13
23 mai 2007 à 12:13
Merci Pretender...
J'essai et je t'en reparle...
J'essai et je t'en reparle...
Ti-Gars
Messages postés
7
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
8 juin 2007
25 mai 2007 à 14:11
25 mai 2007 à 14:11
Finalement, après avoir essayé le truc de Pretender, j'en suis venu à la conclusion qu'il serait plus facile de forcer le format de date de Oracle pour s'adapter à celui "forcer" de VBA. Ce qui donne :
"SELECT * FROM MaTable WHERE To_Char(DateFacture,'yyy/mm/dd') >= ' " & Format(strDateDébut, "yyyy/mm/dd") & " ' AND To_Char(DateFacture,'yyy/mm/dd') <= ' " & Format(strDateFin, "yyyy/mm/dd") & " ' "
Encore une fois merci Pretender...
"SELECT * FROM MaTable WHERE To_Char(DateFacture,'yyy/mm/dd') >= ' " & Format(strDateDébut, "yyyy/mm/dd") & " ' AND To_Char(DateFacture,'yyy/mm/dd') <= ' " & Format(strDateFin, "yyyy/mm/dd") & " ' "
Encore une fois merci Pretender...
22 mai 2007 à 19:26
Mais je ne suis pas sûr de comprendre...
Voici ma requête SQL :
"SELECT * FROM MaTable WHERE DateFacture >= ' " & Format(strDateDébut, "yyyy/mm/dd") & " ' AND DateFacture <= ' " & Format(strDateFin, "yyyy/mm/dd") & " ' "
Ce que tu proposes serait :
"SELECT * FROM MaTable WHERE Substr(DateFacture,7,2) >= 'année' AND Substr(DateFacture,4,2) >= 'mois' AND ...etc
????
Si cela est le cas, j'aurais un problème avec le mois et le jour car >= Mars va éliminer janvier et février si mon intérogation porte sur plus de 10 mois...
SVP m'expliquer ton idée...
J'espère beaucoup que cela va marcher...