Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2011, 12h28   #1
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 1
Points : 1
Par défaut Requête sql avec variable dans cellule excel

Bonjour,

Dans Excel je fais une requête sur oracle dont la table T2."VMDD" est une table de dates.

Je voudrais extraire des données en fonction d'une date de début en H4 de ma feuille excel et une date de fin en J4, pour faciliter la tache de mes utilisateurs.

Je suis arrivé à la requête ci- jointe mais celle-ci ne marche pas et je n'arrive pas à comprendre pourquoi. Dans mes cellules H4 et J4 je mets la date sous le format #2011-09-01#.

J'en suis arrivé là mais j'ai toujours des erreurs

Code :
SELECT T1."PATNUM" "c1", T1."PATNOMP" "c2", T1."PATCONF" "c3", T2."VMDD" "c4" FROM "HVSEJ" T2, "HVIPAT" T1  WHERE T1."PATNUM"=T2."PATNUM" AND T2."VMDD" BETWEEN #" & [H4] & "#,'YYYY-MM-DD HH24:MI:SS' AND #" & [J4] & "#,'YYYY-MM-DD:HH24:MI:SS '
Tous mes remerciements pour les aides éventuelles
MENOT72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 13h19   #2
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Pourquoi utliser des # ?
Pour les dates il faut utiliser TO_DATE (si tu as besoin des # essaie en les incluant dans le masque '#YYYY-MM-DD#').
Je ne pense pas que ça passe tel quel et je ne sais pas comment on paramêtre une requête avec une donnée contenue dans une cellule, mais ça devrait ressembler à :
Code :
1
2
3
4
SELECT T1.PATNUM "c1", T1.PATNOMP "c2", T1.PATCONF "c3", T2.VMDD "c4" 
  FROM HVSEJ T2
  JOIN HVIPAT T1 ON T1.PATNUM = T2.PATNUM
 WHERE T2.VMDD BETWEEN to_date([H4],'YYYY-MM-DD') AND to_date([J4],'YYYY-MM-DD')
Quel outil utilises tu pour écrire la requête, MSQuery ?
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 17h33   #3
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 1
Points : 1
Bonjour et merci pour votre réponse.

J'ai essayé mais cela ne marche pas; je crois que le problème est un problème de syntaxe autour ou dans les crochets ou de format d'écriture de la date dans la cellule excel.

J'ai essayé plein de chose mais rien ne va.

Merci encore pour votre aide.
MENOT72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h19.


 
 
 
 
Partenaires

Hébergement Web