Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide Base de Données sous Access 2007

-> Barre de recherche

    4 janvier 2011 à 9:26:09

    Bonjour,

    J'ai pour mission de crée une base de données sous Microsoft access 2007 pour une Ludothèque (dans le cadre de mon stage à temps partiel).

    Or après avoir suivi les différents tutoriaux sur Access je n'arrive toujours pas à faire tout ce dont j'ai besoin.

    Je joins donc une petite illustration qui vous permettra de mieux comprendre ce dont j'ai besoin :

    Image utilisateur


    Je crée donc une base de données destiné à une ludothèque (bibliothèque de jeux).
    Dans le cas de ma base j'ai donc 2 tables : Adhérent et Jouet.
    Une des options possible de ma base de donnée doit être d'accéder à une fiche (Jouet ou Adhérent) afin de la consulter, la modifier ou la supprimer.
    Pour cela je crée donc un formulaire qui m'affiche toutes les données d'un enregistrement (un seul à la fois).
    Cepandant au lieu de switché d'enregistrement grace au flèches en bas à gauche de l'écran je dois crée une manière plus optimisé.
    "Une Barre de Recherche !"

    J'ai donc rempli ma table adhérents de divers enregistrement qui non aucun sens comme le montre le screen afin de procédé aux tests. Ce sont donc des adhérent qu'on voit actuellement sur le screen.
    On tape le nom de l'adhérent souhaité dans la barre de recherche.
    On clique sur le bouton rechercher.
    Cela affiche dans la liste à droite les enregistrements d'adhérent dont le "nom" ressemble à la saisi.
    (Il y a donc parfois un seul adhérent dans ma liste de résultat a droite, par exemple si je tape "Tual" et qu'il n'y a qu'un seul "Tual". Mais parfois, il peut avoir plusieurs résultats, personne au même nom, ou partie du nom similaire. J'affiche donc aussi le prénom et le numéro de téléphone afin qu'on séléctionne la bonne personne).
    Enfin, en cliquant sur un élément de la liste résultat de droite, les informations arrive en bas de mon formulaire comme sur le screen "Nom :" et pareille pour tout les attributs de mes adhérents.


    Bref, une explication qui peut paraître complex mais il faut garder en tête que je cherche "simplement" une solution pour évité d'utiliser les fléches en bas à gauche de mon formulaire car cela est trop peu optimisé lorsque l'on a 100 adhérent dans la base de données.

    EDIT : Merci de me l'avoir fait remarquer je n'ai effectivement pas dit que je ne sais pas comment crée dans mon logiciel la solution que je propose. Je sais simplement ce que je veux (ce qui est décris).

    Madmax35, en espérant avoir été assez clair pour pouvoir m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      5 janvier 2011 à 14:58:47

      C'est pas très clair.
      Pour moi tu proposes déjà une solution alternative à l'utilisation des flèches (j'ai pas compris de quoi il s'agit) et tu décris même ce que cette solution engendre. Donc je ne vois pas ce que tu attends ...
      • Partager sur Facebook
      • Partager sur Twitter
        5 janvier 2011 à 16:40:03

        Ba oui j'ai trouvé une solution alternative.

        Mais je ne sais pas comment la crée >< !
        Je ne sais pas associer mon bouton recherche à mon champ de texte, une requète et ma liste de résultat.
        Je ne sais pas comment faire que lorsque je clique dans ma liste de résultat cela sélectionne l'enregistrement
        conscerné.

        S.O.S

        • Partager sur Facebook
        • Partager sur Twitter
          6 janvier 2011 à 8:34:54

          Ok c'est plus claire ;)
          il faut être en mode édition. Tu fais un clic droit sur le bouton concerner (rechercher)
          dans la partie Événement, tu as la possibilité d'associer une macro à un événement.
          Pour toi, c'est l'évènement "Sur clic" qui est intéressant. En allant dessus, tu as une liste déroulante, choisi "Procédure évènementielle" puis clique sur le petit bouton ...
          Cela te mene vers le code VB associé à ce bouton. La tu pourra mettre ta requête. Pour ce faire voici un petit exemple de code :
          Private Sub cmdEnregistrer_Click() 'macro associer à mon bouton enregistrer
          	Dim row As DAO.Recordset
          	Dim qdf As DAO.QueryDef
          	
          	Set qdf = CurrentDb.CreateQueryDef("", "SELECT nom FROM adhérents where nom like %" & labelRecherche.Value) 'on crée la requête avec une recherche sur la valeur taper dans la zone de saisie 
          	Set row = qdf.OpenRecordset
                  While Not row.EOF
                      'affichage dans la zone voulue : j'ignore de quel type d'objet il s'agit ? 
          	    'Pour accéder à une valeurs d'une colonne de la requête , on fait row("nomColonne"). 
          	    'Exemple simple :
          	     MsgBox(row("nom"))
                       row.MoveNext
                  Wend
          	row.Close
          End Sub
          


          Pour que ce code fonctionne,; il faut ajouter la référence à DAO (Outils>Reférences>Microsoft DAO Object Library
          • Partager sur Facebook
          • Partager sur Twitter
            6 janvier 2011 à 22:41:54

            Bonjour/bonsoir. Merci de d'interessé à mon problème.

            Si j'ai bien compris l'apprentisage du langage VB.NET est nécessaire pour crée une base de donnée disons "dynamique" avec des formulaires aux notions plus complexes qu'un simple affichage ?

            Pense tu que sa vaut le coup d'apprendre un tutoriel entier même si les choses dont j'ai besoin son vraiment la base de la base dans toute base de donnée (faire une recherche dans une table et afficher les résultats dans une liste) ?

            Sinon j'ai bien trouvé l'endroit ou mettre mon code de mon bouton. Cepandant ton code est, si j'ai bien compris à titre d'exemple et donc non utilisable directement dans mon cas. Même si je ne suis pas sur de finalisé le fait que la macro s'éxécuterais correctement.

            Bref, que mon conseil tu ? Peut être que trouver un code tout fait pour ce genre de situation avec simplement le nom des mes colonnes et tables à changer serait plus simple ?

            Cordialement, Maxime
            • Partager sur Facebook
            • Partager sur Twitter
              7 janvier 2011 à 8:25:07

              Oui tu es obliger d'utiliser du vb car impossible d'associer une requête que l'on aurai créer à un évènement (bien dommage d'ailleurs)
              Lire un tuto ne fait jamais de mal de toute manière donc oui ça peut être une bonne idée.
              Et en effet, mon code n'est pas utilisable entant que tel étant donnée que je ne connais pas la structure de ta table (les noms de colonnes, les types ...) et je ne sais pas sur quelles colonnes tu veux faire la recherche. Enfin, je ne connais le nom que tu as donné à ton champs de recherche.
              Néanmoins, je pense que l'exemple est quand même parlant. Il te suffit de remplacer certains noms en adaptant à ton cas et déjà tu aura un début de résultat.

              • Partager sur Facebook
              • Partager sur Twitter
                7 janvier 2011 à 11:28:53

                D'accord, je vais tenter ce week end d'avoir un résultat mais pour l'instant à part quelque mot anglais et la requète MySQL le reste ne me parle pas beaucoup^^

                Sa sera donc au feeling ! Je posterais donc mes résultats ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  9 janvier 2011 à 15:23:33

                  J'ai donc pris le temps d'essayer de faire marcher le code VB que tu m'a donné en le modifiant un peu cepandant je rencontre quelques problèmes.

                  - Je n'arrive pas à ajouter la référence à DAO (Outils>Reférences>Microsoft DAO Object Library car une fois coché et cliquer sur OK le logiciel me dit "Nom de module, de projet ou de bibliothèque d'objets déja utilisé".

                  - La suite endécoule j'imagine mais rien ne ce passe lorsque j'appuie sur mon bouton en mode formulaire et lorsque j'appuie sur éxécuter dans la fenêtre Microsoft Visual Basic une petite fenêtre apparait appelé Macros et qui semble vouloir que je choisisse dans une liste vide une macro.

                  Merci de ta lecture, Maxime
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 janvier 2011 à 9:41:50

                    Plus personne >< angelo ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 janvier 2011 à 9:54:00

                      J'"avoue que tu me poses une colle.
                      J'ai quand même ajouté une ligne importante dans mon code sinon c'est boucle infini :-°

                      Citation

                      - La suite endécoule j'imagine mais rien ne ce passe lorsque j'appuie sur mon bouton en mode formulaire et lorsque j'appuie sur éxécuter dans la fenêtre Microsoft Visual Basic une petite fenêtre apparait appelé Macros et qui semble vouloir que je choisisse dans une liste vide une macro.

                      .
                      Tu es sur d'avoir suivi les conseils que je t'ai donné (= passé par la partie Evenement du bouton) ...

                      Sinon si tu peux uploader ton fichier quelque part, je pourrai y jeter un œil
                      • Partager sur Facebook
                      • Partager sur Twitter
                        13 janvier 2011 à 12:59:37

                        Merci d'avoir essayer j'ai trouvé quelqu'un irl qui va tenter de m'aidez cela sera plus simple.

                        Bonne continuation ;)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Aide Base de Données sous Access 2007

                        × 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