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

Requêtes et SQL. Discussion :

Récupérer la valeur du paramètre entré dans la boîte de dialogue affichée par défaut par Access. [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 15
    Points
    15
    Par défaut Récupérer la valeur du paramètre entré dans la boîte de dialogue affichée par défaut par Access.
    Bonjour,

    J'ai un petit problème pour récupérer en VBA un paramètre que l'utilisateur renseigne avant l'exécution d'une requête d'ajout. C'est une date, c'est peut-être de là que viens le problème.

    Ma requête est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PARAMETERS [Date (jj/mm/aaaa) :] DateTime;
    INSERT INTO Table1 ( Date )
    SELECT [Date (jj/mm/aaaa) :] AS Expr1;
    En VBA, j'utilise le code suivant lorsque l'utilisateur clique sur un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.OpenQuery "MaRequeteAjout", acNormal, acEdit
    Une boite de dialogue s'affiche pour demander une date, qui est rentrée au format dd/mm/yyyy. L'ajout fonctionne bien comme ça.

    Pour récupérer ensuite le paramètre qui vient d'être entré, j'utilise le code suivant, juste après l'éxécution de la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Qry as QueryDef
    Dim dtmMaDate as Date
    Set Qry = CurrentDb.QueryDefs("MeRequeteAjout")
    dtmMaDate = Qry.Parameters(0)
    MsgBox Format(dtmMaDate, "dd/mm/yyyy")
    La boîte de dialogue me donne "30/12/1899" quelle que soit la date que j'entre.

    Je me suis dit que ça venait du fait que le paramètre n'était pas enregistré, et donc au lieu d'utiliser OpenQuery, j'ai essayé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Qry as QueryDef
    Dim dtmMaDate as Date
    Set Qry = CurrentDb.QueryDefs("MeRequeteAjout")
    Qry.Execute
    dtmMaDate = Qry.Parameters(0)
    MsgBox Format(dtmMaDate, "dd/mm/yyyy")
    La boîte de dialogue pour demander le paramètre ne s'affiche plus. A la place, j'ai l'erreur "Trop peu de paramètres, 1 attendu".

    Je pourrais contourner le problème en ajoutant un champ "Date" dans mon formulaire, mais cette petite boîte de dialogue est quand même bien pratique.

    Une idée pour résoudre ce problème ?

    Merci d'avance,

    Rozgann

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Je viens de trouver tout seul......

    Il suffit d'utiliser la seconde solution que j'avais proposée, en rajoutant une InputBox, tout simplement.... Je cherchais à rajouter un champ modifiable à une MsgBox, j'avais pas vu qu'il existait des InputBox.

    Désolé du dérangement....

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2006, 12h55
  2. Récupérer les valeur d'un énuméré dans une string
    Par Oliv_75 dans le forum SL & STL
    Réponses: 5
    Dernier message: 28/09/2005, 00h55
  3. Comment récupérer la valeur d'un dbGrid dans des fenêtres MDI ?
    Par sylvie cl dans le forum Composants VCL
    Réponses: 5
    Dernier message: 19/07/2005, 13h42
  4. récupérer la valeur d'un select dans un autre
    Par alexander dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2005, 19h43
  5. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45

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