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 :

Ouverture d'un formulaire sur enregistrement précis


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 35
    Points : 28
    Points
    28
    Par défaut Ouverture d'un formulaire sur enregistrement précis
    Bonjour,

    Je souhaiterais ouvrir un formulaire sur un enregistrement précis. Pour rechercher cet enregistrement, l'utilisateur renseigne le mois et l'année. Or je ne sais pas comment paramétrer l'ouverture de mon formulaire avec les deux critères (avec un ca marche mais pas avec les deux). Voici le code (mais qui ne marche pas)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim stLinkCriteria2 As String
     
        stDocName = "Nb dossiers saisis"
        stLinkCriteria = "[Mois]=" & "'" & Me![ListeMois] & "'"
        stLinkCriteria2 = "[Annee]=" & "'" & Me![ListeAnnee] & "'"
        DoCmd.OpenForm stDocName, , , stLinkCriteria & stLinkCriteria2, acFormEdit
    Merci d'avance,

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2009
    Messages : 81
    Points : 72
    Points
    72
    Par défaut
    Bonjour,
    as-tu essayé de faire une requête SQL pour chercher l'enregistrement qui correspond, puis récupérer son ID et ouvrir le formulaire en question avec cet ID?
    Si tu dis que cet enregistrement est "précis" c'est qu'il doit être unique ! donc il vaut mieux l'appeler par son ID
    "Car enfin, qu’est-ce que l’homme dans la nature ? Un néant à l’égard de l’infini, un tout à l’égard du néant, un milieu entre rien et tout."
    Blaise PASCAL

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    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 006
    Points : 24 582
    Points
    24 582
    Par défaut
    Bonjour,

    Le problème vient de la manière dont tu concatènes tes critères. Il faut un opérateur entre les 2 comme pour un WHERE SQL.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        stDocName = "Nb dossiers saisis"
        stLinkCriteria = "[Mois]='" & Me![ListeMois] & "'"
        stLinkCriteria2 = "AND [Annee]='" & Me![ListeAnnee] & "'"
        DoCmd.OpenForm stDocName, , , stLinkCriteria & stLinkCriteria2, acFormEdit
    Ensuite tu dois t'assurer que les critères sont bien de type texte comme tu le spécifie en utilisant les simples cote.

    Si dans la table elles sont de type numérique tu dois enlever les cotes.

    PS : La remarque de Lincoln911 est à prendre en compte. On identifie mieux un enregistrement par un id unique.

    Dans le cas ou le critère renvoi plusieurs enregistrements (ou est susceptible de le faire) déplace ta condition WHERE dans l'option FILTER de la commande.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2010
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 35
    Points : 28
    Points
    28
    Par défaut Suite et fin
    Merci bcp,
    en remplacant mon code par ton code loufab, ca marche, il m'ouvre mon formulaire sur le mois et l'année précédemment renseigné par l'utilisateur.

    Merci beaucoup de votre aide et surtout de la rapidité de vos réponses.
    Bonne journée.

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

Discussions similaires

  1. [AC-2010] Ouverture formulaire sur enregistrement précis
    Par Tazzou dans le forum VBA Access
    Réponses: 8
    Dernier message: 27/08/2014, 19h50
  2. [AC-2003] Ouverture d'un formulaire sur un enregistrement précis
    Par Jeanpierre71 dans le forum IHM
    Réponses: 7
    Dernier message: 10/10/2011, 17h56
  3. [AC-2003] Ouvrir sous formulaire sur enregistrement précis
    Par mercatog dans le forum IHM
    Réponses: 2
    Dernier message: 26/07/2009, 17h17
  4. Ouverture d'un formulaire sur un enregistrement précis
    Par Halzard dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/06/2007, 14h36
  5. Ouverture formulaire sur enregistrement precis
    Par mat_lefebvre dans le forum IHM
    Réponses: 7
    Dernier message: 11/10/2004, 15h37

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