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

Access Discussion :

Affichage du résultat d'une requête paramétrée


Sujet :

Access

  1. #1
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut Affichage du résultat d'une requête paramétrée
    Bonjour,

    Je souhaite lancer une requête paramétrée à partir d'un formulaire et afficher son résultat.
    La valeur du paramètre se trouve dans une liste de valeur.
    La requête étant lancée quand on double clique sur une des valeurs de la liste.

    J'arrive à ouvrir un recordset contenant les données à l'aide d'un objet querydef , mais je n'arrive pas à afficher le résultat d'une requête sélection . Malheureusement, je ne peux pas utiliser non plus docmd.openquery car il me demande alors de saisir la valeur de la variable.
    Enfin comme la donnée est dans une liste, il est impossible de tricher en mettant la valeur du contrôle directement dans la requête.

    Quelqu'un voit comment je pourrais faire ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Où veux-tu afficher le résultat ?
    Le QueryDef peut affecter la propriété SQL de ta requête (voir tutoriel de Tofalu) et ainsi devenir le nouveau RecordSource de ton Formulaire.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Merci argy

    Je dois afficher le résultat dans une fenêtre indépendante.

    J'ai bien pensé à la méthode SQL, mais elle me donne le code sans avoir mis à jour la valeur de la variable alors que j'ai défini cette dernière juste avant avec la méthode parameters.
    Autant saisir le code directement sans aller le récupérer dans une requête dans ce cas.
    C'est ce que je pensais faire en dernier ressort si je ne trouve pas de solution plus classe..

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Humm...
    Je vois pas où est la difficulté... Enfin, moi je n'utilise jamais de requête paramétrée...

    Inspire toi d'un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub lstChoix_Click()
    Dim vntItemSelected As Variant
    Dim strSQL As String
    Dim oQDF As DAO.QueryDef
    Const MY_QUERY = "Ma requête non paramétrée"
     
      vntItemSelected = Me!lstChoix
     
      strSQL = "SELECT MesChamps FROM MaTable WHERE MonChamp = " & _
    IIf(IsNumeric(vntItemSelected), vntItemSelected, _
    Chr(34) & vntItemSelected & Chr(34))
      On Error Resume Next
      Set oQDF = CurrentDb.QueryDefs(MY_QUERY)
      'Affectation ou création de la requête
    
      If err <> 0 Then
        oQDF.SQL = strSQL
      Else
        CurrentDb.CreateQueryDef MY_QUERY, strSQL
      End If
      'Ouverture du Form avec les nouveaux critères de la requête
    
      DoCmd.OpenForm "Mon Formulaire dont la source est la requête MY_QUERY", _
    acNormal, , , , acDialog
     
    End Sub
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    non !
    Utilises les paramètres !

    Il existe une collection parameters.
    Ca done un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TaQuery.parameters("NomDuParametres").value=ValeurDuParamètre
    Taquery.execute

  6. #6
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Merci à tous les deux.

    Argy, en fait j'utilise les requêtes paramétrées pour ne pas me faire.. avec du code SQL en dur dans le code pour une question de simplicité de maintenance. Si je finis par me taper quand même du SQL dans le code, autant créé un form et modifier la source de données à l'ouverture.

    Maxence, j'ai essayer d'utiliser les paramètres, mais ma requête est une requête d'affichage du coup qry.execute provoque l'erreur suivante :"erreur N°3065, Impossible d'exécuter une requête sélection"

    Bon ben, je crois qu'il ne me reste plus qu'à mettre la main dans le camboui.

    Merci quand même.

  7. #7
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    C'est bon j'ai trouvé dans la FAQ à mon deuxième passage désolé.



    Question subsidiaire, (c'est sûrement un truc tout con mais je n'arrives pas à le faire tourner actuellement)
    Comment ouvrir un formulaire en mode feuille de données à partir de code VB.
    Pour l'instant mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        DoCmd.OpenForm "frm_AFFICH_Details_table", , , "table = '" & _
                       Me.lst_Sources_dispo.Column(0, Me.lst_Sources_dispo.ItemsSelected(0)) & _
                       "' AND SEQ <> 1 AND SEQ <> 4"
    Mais cela l'ouvre en mode formulaire classique.

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

Discussions similaires

  1. Affichage des résultats d'une requête dans listbox
    Par Deallyra dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/10/2007, 14h09
  2. Affichage du résultat d'une requête SQL
    Par kamikazbe dans le forum JDBC
    Réponses: 2
    Dernier message: 24/05/2007, 19h47
  3. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24
  4. [VBA Access]Pb affichage de résultat d'une requête
    Par BouGeTonQ dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/06/2006, 18h49
  5. Réponses: 5
    Dernier message: 18/11/2005, 23h28

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