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

VBA Access Discussion :

[ACCESS - VBA] Etat ignore le paramètre passé pour la requête d'affichage


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut [ACCESS - VBA] Etat ignore le paramètre passé pour la requête d'affichage
    Bonjour,

    Je travaille sur une petite application Access.
    Mon problème se situe au niveau d'un état :
    J'ai un formulaire de commande, qui permet de saisir une commande, et à la fin de la saisie, un bouton permet d'ouvrir une preview du bon de commande.

    Dans l'état qui définit le bon de commande, j'ai plusieurs requêtes qui sont exéctuées (même si au final, j'aurais pu n'en faire qu'une, mais j'ai préféré réutiliser des requêtes).

    Les champs principaux sont alimentés par la requête source du formulaire, qui est paramétrée. Elle reçoit la référence de la commande.

    Mon problème est que l'état ouvre systématiquement une boite de dialogue pour entrer le paramètre, alors que je passe pourtant le paramètre dans la clause WHERE de mon OpenReport... J'ai eu beau recréer un formulaire vide pour tester, ça ne fonctionne pas. Je ne vois pas où est mon erreur.

    Le code de l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub btn_printDeliveryOrder_Click()
        '@debug MsgBox "order ref = " & txt_orderref
        stLinkCriteria = "[txt_orderref] = """ & txt_orderref & """"
        DoCmd.OpenReport "etat_DeliveryOrder", acViewPreview, stLinkCriteria, , , txt_orderref.Value
        DoCmd.Maximize
    End Sub
    Note : le dernier paramètre est utilisé pour les autres requêtes (par ex un calcul du volume total de la commande)

    La requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM tbl_Agent INNER JOIN tbl_Commande ON tbl_Agent.nom_agent=tbl_Commande.destinataire_commande
    WHERE tbl_Commande.ref_commande=[txt_orderref];
    Toute bête ... elle récupère juste les infos de la commande et les infos du destinataire correspondant...

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 020
    Points : 24 553
    Points
    24 553
    Par défaut
    Bonjour,

    Gros mélange là :

    tu demande à ton état de n'afficher que les commande ayant pour N° txt_orderref il faut lui préciser ou il va trouver cette information !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stLinkCriteria = "[txt_orderref] = """ & txt_orderref & """"
    devient donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stLinkCriteria = "[ref_commande] = """ & txt_orderref & """"
    Ta requete devient donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM tbl_Agent INNER JOIN tbl_Commande ON tbl_Agent.nom_agent=tbl_Commande.destinataire_commande;
    Tout simplement !

    Cordialement,

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup !!
    J'avais mal saisi le fonctionnement de la clause WHERE ! Et comme j'utilise différemment le passage de paramètre ailleurs, j'ai un peu tout mélangé...

    En tout cas merci et à bientôt

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

Discussions similaires

  1. Mot de passe pour base de donnees access
    Par foufou6825 dans le forum Access
    Réponses: 1
    Dernier message: 27/08/2006, 19h21
  2. Réponses: 3
    Dernier message: 28/06/2006, 17h01
  3. [Access 2003 - Etat - vba ] - Erreur de me.page
    Par Perceneige dans le forum Access
    Réponses: 7
    Dernier message: 19/06/2006, 14h18
  4. Réponses: 13
    Dernier message: 15/06/2006, 11h31
  5. Réponses: 1
    Dernier message: 01/12/2005, 14h30

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