IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

MSQUERY-ODBC : parametre Date [XL-2007]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    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

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2008
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 270
    Par défaut
    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+

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Par défaut
    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+

  4. #4
    Membre chevronné
    Inscrit en
    Avril 2008
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 270
    Par défaut
    Bonjour marcym, le forum
    ...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+

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Par défaut
    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.
    Nom : Param-Date_Erreur.jpg
Affichages : 1244
Taille : 81,5 Ko
    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

  6. #6
    Membre chevronné
    Inscrit en
    Avril 2008
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 270
    Par défaut
    Bonsoir marcym,

    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+

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 17
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion parametre date dans une url
    Par Titoine76 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 05/03/2008, 19h01
  2. Réponses: 1
    Dernier message: 01/09/2006, 11h08
  3. [C#]Passage d'un parametre date a une procédure stocké
    Par frans2111 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/08/2006, 00h07
  4. Réponses: 3
    Dernier message: 12/08/2006, 23h05
  5. [Interbase + DateTimePicker] Requette parametre Date
    Par touhami dans le forum Bases de données
    Réponses: 3
    Dernier message: 02/09/2005, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo