Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
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 24/05/2011, 10h50   #1
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
Par défaut MSQUERY-ODBC : parametre Date

Bonjour,
J’ai un fichier excel avec une liaison externe MS Query ODBC. Dans les propriétés de connexion, onglet ‘definition’, j’ai saisi un texte de commande SQL pour extraire des données de ma base de données. J’ai passé des paramètres en variables en les liant à des cellules de ma feuille de calcul et en mettant un ? dans ma requête en guise de valeur pour les paramètres attendus.
Cela fonctionne sauf pour les paramètres de type date. Le ? ne permet pas de transformer les paramètres en variable et fait planter mon extraction. Je suis obligé de saisir les dates en dur dans le texte de commande. Quelqu’un a –t-il la solution ?
Par ailleurs, est-il possible de mettre en variable des paramètres type « code like ‘123%’ »en passant la valeur ‘123’ en variable et en la récupérant dans une cellule de la feuille excel ?
Merci pour vos réponses
Cordialement
marcym est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 11h49   #2
Membre du Club
 
Inscription : avril 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 33
Points : 40
Points : 40
Bonjour marcym,


Pour le problème de date, il peut s'agir d'un problème de formatage. Regarde ce post.
Pour le LIKE 123%, il faut dans MsQuery mettre LIKE ?, et mettre 123% dans ta "cellule de critère". Si tu ne veux pas que l'utilisateur saisice le %, tu peux te servir d'une cellule intermédiaire qui a une formule du type =celluleDeSaisie&"%" qui servira de "cellule de critère".

Tu trouveras un exemple dans ce tuto.

A+
mromain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 13h26   #3
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
Merci pour la réponse mromain,
le problème pour la date est qu'après avoir saisi le ? pour le paramètre date de ma commande sql, j'ai un message d'erreur à la validation de la boite de dialogue 'propriété' --> "Type de paramètre incorrect. Excel attend un type de valeur différent de celui fourni" ... je n'arrive même pas à lier ce paramètre à une quelconque cellule.

Pour le like '123%' c'est ok, merci.

a+
marcym est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 07h55   #4
Membre du Club
 
Inscription : avril 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 33
Points : 40
Points : 40
Bonjour marcym, le forum
Citation:
...après avoir saisi le ? pour le paramètre date de ma commande sql...
Si j'ai bien compris, tu le saisis directement dans les propriétés de la requête, pas depuis MS-Query ?
Si c'est le cas, essaye en le faisant depuis MS-Query voir si le problème est persiste (tu trouveras la démarche à suivre dans le tuto).

A+
mromain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 10h21   #5
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
Bonjour,
merci pour la nouvelle réponse.
Je fais des tests, mais je pense que ma requête est peut être trop complexe (liaisons entre tables, calculs de sommes...) et donc elle ne peut pas s'afficher graphiquement dans MSQuery --> Message :"impossible de modifier cette requete avec l'assistant requete" puis "champ count incorrect ou erreur de syntaxe"
C'est dans les "propriétés de connexion" que je l'ai saisie (voir fichier copie écran) et c'est les dates que je n'arrive pas à passer en paramètres.
Param-Date_Erreur.jpg
A la validation de cet écran j'ai le message : "Type de paramètre incorrect. Excel attend un type de valeur différent de celui fourni"

Je ne vois pas pourquoi les autres paramètres fonctionnent et pas ceux concernant les dates. Quand je saisi la date en "dur" au le format "jj/mm/aaaa" à la place des '?' ça fonctionne très bien.

Cordialement
marcym est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 18h22   #6
Membre du Club
 
Inscription : avril 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 33
Points : 40
Points : 40
Bonsoir marcym,

Citation:
Je fais des tests, mais je pense que ma requête est peut être trop complexe (liaisons entre tables, calculs de sommes...) et donc elle ne peut pas s'afficher graphiquement dans MSQuery
Ça m'est déjà arrivé une fois. J'avais contourné le problème en créant une vue dans ma BDD, et en faisait une requête sur cette vue (qui du coup s'affichait bien dans MS-Query).
Maintenant, si tu n'as pas la main sur ta source de données pour faire ça, je t'avoue que je ne vois pas trop comment t'aider...

Tiens nous quand même au courant de ton avancement .

A+
mromain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 19h21   #7
Futur Membre du Club
 
Homme
Inscription : mai 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 17
Points : 18
Points : 18
bonsoir,
je dois pouvoir créer une vue mais le but est justement d’éviter cela et de faire différentes requêtes dans Excel pour les mettre à disposition d'utilisateurs.
Ceci étant, je suis reparti de 0 et j'ai reconstitué ma requête depuis le début via msquery et l'assistant de requête.
Il faut biaiser car dés qu'on ajoute des liens entre les tables, des messages d'erreur apparaissent.
Après une dure et longue bataille .... je viens juste de m'en sortir :
une fois la requête créée via l'assistant msquery avec les paramètres en 'dur', il est possible ensuite d’insérer des ? en paramètres dates dans le texte de commande sql de la fenetre "propriété de connexion" et ca fonctionne.
Par contre il ne faut plus retourner ensuite dans l'assistant MSQuery car il ne peut plus reconstituer la requête graphiquement et ne reconnait plus les paramètres 'variables'.

Donc j'ai bien mis des ? comme je le faisais au départ, mais pour qu'ils fonctionnent sur les dates il faut d'abord être passé par l'assistant msquery et avoir saisi le paramètre en dur.

Je vais donc devoir reconstituer dans msquery mes différentes requêtes sql existantes .

Merci pour ton aide mromain....si quelqu'un a une autre solution n'hésitez pas !

bonsoir
marcym est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h48   #8
Membre du Club
 
Inscription : avril 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 33
Points : 40
Points : 40
Bonjour marcym,

Merci pour le retour , c'est bon à savoir.

A+
mromain est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h08.


 
 
 
 
Partenaires

Hébergement Web