Partage
  • Partager sur Facebook
  • Partager sur Twitter

Access problème formulaire

Sujet résolu
    22 mars 2011 à 10:07:45

    Bonjour,
    Mon problème est simple à comprendre :
    Je suis en train de créer une base de donnée sous Access, et étant débutant, il y a certaines choses que je n'arrive pas à faire.
    A partir d'un formulaire "BENEVOLES" avec une liste de bénévoles, je voudrais, lorsque je double clic sur un bénévole, arrivé sur la fiche de celui-ci. A partir d'une macro, j'ai réussi à le faire mais cela m'envoie toujours sur le premier de la file et non sur celui ou je double clic.
    J'ai alors essayé par code VBA, en prenant pour base la réponse faite à un internaute sur ce site, dont le code est le suivant :
    Private Sub Noms_DblClick(Cancel As Integer)
    Dim intNbre As Integer
    intNbre = Me.Numéro
    DoCmd.OpenForm "listing"
    DoCmd.ApplyFilter "listing trié", ""
    Forms!listing!Numéro.SetFocus
    DoCmd.FindRecord intNbre
    DoCmd.GoToControl "débutléger"
    DoCmd.Close acForm, "identité"
    End Sub
    


    (le lien du la question http://www.commentcamarche.net/... )

    Mon code est comme ceci :

    Private Sub Liste4_DblClick(Cancel As Integer)
    Dim intNbre As Integer
    intNbre = 0
    DoCmd.OpenForm "BENEVOLES"
    Forms!BENEVOLES!NOM.SetFocus
    DoCmd.FindRecord intNbre
    DoCmd.Close acForm, "Benevole_repertoire fiche"
    End Sub
    


    Et quand je double clic, un message d'erreur apparait :
    "Erreur d'éxécution 438"
    Propriété ou méthode non gérée par cet objet.

    Quand je fais débogage, la ligne (Forms!BENEVOLES!NOM.SetFocus) m'est surligné en jaune.
    Auriez-vous une solution ? je planche la dessus depuis 2 jours déjà et je ne trouve pas de solution.


    Merci d'avance de vos réponse, bonne journée et/ou soirée
    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2011 à 11:04:35

      Salut
      ton bouton est dans le formulaire BENEVOLES ou dans un autre ?
      Pourrai utiliser le zcode afin de colorer ton code. Pour cela il suffit d'éditer ton message, de sélectionner tout le code, de cliquer sur Image utilisateur et sélectionner VB .NET

      Merci
      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2011 à 11:39:53

        Un bouton ? Je n'en ai qu'un qui me permet de retourner au menu principal.

        Voulant faire ce que je veux faire avec un simple double clique.


        (Mais si il y a des choses à éclaircir, n'hésiter pas !)
        • Partager sur Facebook
        • Partager sur Twitter
          22 mars 2011 à 15:36:29

          Ah oui pardon, le double clic est sur la liste (je ne sais pas pourquoi je voulais que ce soit un bouton)

          Comment as tu crée tes formulaires? tu as mis la table comme origine des données pour les 2 formulaires juste pour le premier ?
          • Partager sur Facebook
          • Partager sur Twitter
            24 mars 2011 à 10:06:14

            Bonjour,

            J'ai mis comme origine des données pour les 2 formulaires, la même table. (a savoir répertoire_bénévole)
            Comme c'est les mêmes informations de l'un à l'autre.


            • Partager sur Facebook
            • Partager sur Twitter
              24 mars 2011 à 10:58:41

              Pour la deuxième, faudrait que fasse une nouvelle requête sur la table répertoire_bénévole. Dans cette requête tu met un paramètre pour le WHERE (afin de filtré uniquement sur le bénévoles choisi dans le premier formulaire)

              Ensuite tu mettra à jour ton paramètre comme ça :
              Set qdf = CurrentDb.QueryDefs("larequete")
              qdf.Parameters("intNbre ") = intNbre
              Set oRs = qdf.OpenRecordset(dbOpenSnapshot)
              
              • Partager sur Facebook
              • Partager sur Twitter
                24 mars 2011 à 11:14:09

                Ok, j'essaie de suivre les informations que tu m'as données.

                Je récapitule donc : 1) Je met WHERE comme critère sur un champ de ma requête.
                2) Et si j'ai compris, je met le VB.NET dans description !?

                Car tu me parles de mettre a jour mon paramètre comma ça (mais de quel paramètre parle-tu ?)

                (Je suis débutant en Access, et j'attends des livres pour m'aider a compléter mes lacunes)

                Merci encore de l'aide :]
                • Partager sur Facebook
                • Partager sur Twitter
                  25 mars 2011 à 12:05:03

                  Bon, je n'y arrive pas. Je vois pas ou mettre tes lignes de code VBA.

                  Comment et ou puis-je mettre un paramètre pour "Where" ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 mars 2011 à 15:48:24

                    le vba se met dans la procédure créée Noms_DblClick

                    Pour les paramètres , je te donne un exemple :
                    PARAMETERS intNbr Short;
                    SELECT * FROM répertoire_bénévole where [intNbr]
                    


                    Après l'autre possibilité est d'éditer le sql dans le vba via la méthode SQL :

                    Private Sub Liste0_Click()
                    Dim intNbr As Integer
                    Dim qdf As DAO.QueryDef
                    Dim oRs As DAO.Recordset
                    
                    intNbr = Me.Liste0.Value 'je récupère l'id du bénévole que j'ai sélectionné
                    CurrentDb.QueryDefs("Requête1").SQL = "select nom, adresse from benevoles where id =" & intNbr 'je modifie le SQL en conséquence
                    
                    DoCmd.OpenForm "Formulaire2" 
                    
                    DoCmd.Close acForm, "Formulaire1"
                    
                    End Sub
                    


                    Cela implique que le formulaire2 est lié à la requête "Requête1"
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 mars 2011 à 10:23:27

                      Bonjour,

                      Merci de ton aide, j'ai trouvé une autre solution pour y arriver plus facilement. Mais ta façon de faire devrait m'aider pour une prochaine fois.

                      Merci encore,

                      Cordialement
                      Thibault
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Access problème formulaire

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown