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 :

requete paramétrée access


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut requete paramétrée access
    Bonjour

    est il possible de créer des requete dans l'éditeur Access prenant en compte certain paramètres.

    et de les executer via le code, en lui passant le paramètre?

    sous A97.

    Merci.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    oui voir tutoriel dao

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    merci

    il se situe là:
    http://general.developpez.com/cours/

    ??
    ou c'est mes yeux?

  4. #4
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    plutot la

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    donc en fait cela consiste à récuperer le contenu de la requete "graphique", de le mettre dans une variable, et de modifier le critère par la valeur qu'on veut lui passé avec un Replace.

    C'est ca?


    Et si je veux me créer une procédure du genre que j'appelerais comme ca:

    call plExecuteRequeteParametree(pNomrequete as string, p1, p2, pn)

    Comment je peux faire, car là, je ne connais pas précisement(l'orthographe) du ou des paramètres?

  6. #6
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    j'ai pas compris ce que tu as dit mais le mieux est de créé des variable dans ton code et de mettre ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docmd.runsql ("SELECT monchamp FROM matable WHERE [mavariable]")
    par exemple

  7. #7
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    ne pas oublier la faq, parfois c'est utile :
    http://access.developpez.com/faq/?page=SQL#ReqParamVar

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    jusqu'à présent, je fonctionnais uniquement par code (pas même des requetes via l'éditeur).
    Ceci dit, un utilisateur voudrait pouvoir executer des requetes "graphiquement" en saisissant betement les paramètres qd la boite de dialogue type le lui demande.

    Donc je voudrais que la même requete, soit executable à la main (par le novice)
    et via le code en lui passant les paramètres.

    ex:
    dans l'onglet requete, je crée graphiquement ou en la saisissant la requete
    "QRY_Select_MaTableSelonParam"

    Le code de celle ci est:
    select * from matable
    where
    matable.col1 = p1 and
    matable.col2 = p2 and
    matable.col3 > p3

    L'utilisateur la lancera en doublecliqaunt dessus, et devra saisir p1, p2,p3 successivement, puis le résultat lui sera rendu.

    Moi dans un prog,
    je veux executer cette requete par une fontion qui me permettra d'executer toutes les requetes quelque soit le nb de paramètre via le code.
    (bien évidemment, je devrais par le code, mentionner autant de paramètre qu'il y en a dans la requete "graphique")

    du genre:
    plExecuteRequeteParam("QRY_Select_MaTableSelonParam",'toto','tata',21)

    Est ce que je me fais mieux comprendre?
    Merci en tout cas de m'aider.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    Citation Envoyé par Arkham46
    bjr,

    ne pas oublier la faq, parfois c'est utile :
    http://access.developpez.com/faq/?page=SQL#ReqParamVar

    merci je n'avais pas vu
    je regardais ici:
    http://warin.developpez.com/access/requeteparametre/

    mais dans ce cas précis, on connais le nom du parametre.
    Moi, ca serait sans le connaitre, ni connaitre le nombre.

  10. #10
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    qu'est ce que tu appelle une requéte "graphique"?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    Citation Envoyé par polo(31)
    qu'est ce que tu appelle une requéte "graphique"?
    pardon, je m'exprime mal.
    par requete graphique, je voulais dire une requete crée dans l'onglet Requetes.

  12. #12
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    en mode céation?

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    En fait j'utilise Windev qui permet
    comme sous access, de créer des requetes via un éditeur visuel de requete.

    Ces requetes peuvent contenir n paramètres.

    Puis pour les executer dans le programme (en code),
    on fait un:
    hexecuterequetesql(NomRequete, paramètres p1, p2, pn)

    et la requete (crée dans l'éditeur graphique est éxecuté en prenant en compte les paramètres passés)

    Vous me cernez?


    merci les gars

  14. #14
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Citation Envoyé par LostIN
    merci je n'avais pas vu
    je regardais ici:
    http://warin.developpez.com/access/requeteparametre/

    mais dans ce cas précis, on connais le nom du parametre.
    Moi, ca serait sans le connaitre, ni connaitre le nombre.
    Tu peux sûrement parcourir la collection Parameters :
    Code écris vite fait sans tester... : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim lCpt as integer
    With CurrentDb.QueryDefs("TAREQUETE") 
       For lCpt = 0 to .Parameters.Count - 1
          msgbox .Parameters(lCpt).Name ' Nom du paramètre
          msgbox .Parameters(lCpt).Value ' Valeur du paramètre
       Next
    End With

    PS : Le terme pour requête graphique je crois que c'est de QBE que tu parles

  15. #15
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    je ne connais que trés peu les *dev je crois qu'il est temp pour moi de me retiré, bonne chance

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    merci à tous

    c'etait bien QBE (oubli).

    je vais essayer de me dépatouiller avec l'info d' Arkham46.

    Je pensais qu'il y avait peut être une ressource toute faite.

    Mais bon, une fois faite, je la mettrais à dispo.

  17. #17
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    oublie pas le TAG

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    qd j'aurais avancé!

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Points : 346
    Points
    346
    Par défaut
    je vais pas m'ennuyé.
    ca ira très bien comme ca.


    Pour passer des paramètres à une requête, il y a bien sur les Paramètres de la requete, voire des variables définies en VB, mais il existe aussi une solution simple :
    Une table ne contenant qu'un seul enregistrement.
    Cet enregistrement peut bien sur contenir beaucoup de champs tels que TxTVA1, TxTVA2, Date_fin_periode etc....

    On insère la table dans la requete nécessitant les paramètres et on se sert des champs comme critères ou constantes.
    Attention :

    * Garantir un seul enregistrement (il y a un post la dessus sur ce site) sinon gare aux petits lapins comme on dit chez nous (multiplication des enregistrements)
    * Ne marche pas si on a des jointures externes dans la requete (c.a.d des fleches sur les liens), mais il suffit souvent de décaler le pb en faisant une deuxième requete.

    On a avec cette solution la souplesse d'utilisation des tables ... et des possibilités quasi infinies puisqu'on peut facilement modifier les paramètres via des requetes appropriées.

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

Discussions similaires

  1. [AC-2003] Utiliser requete paramétrée access en VBA
    Par Smoovy35 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 29/12/2023, 13h17
  2. [AC-2003] requete paramétrée access->excel
    Par Beub' dans le forum VBA Access
    Réponses: 9
    Dernier message: 29/12/2010, 15h36
  3. [A-03] Recordset DAO sur requete paramétrée Access
    Par fxbrg dans le forum VBA Access
    Réponses: 12
    Dernier message: 23/03/2009, 16h34
  4. Réponses: 1
    Dernier message: 11/09/2007, 10h12
  5. [VBA-A ] requete paramétrée sous access
    Par mymeal dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/08/2006, 17h54

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