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 :

Formulaire avec une liste déroulante qui renvoit à plusieurs tables


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 17
    Points
    17
    Par défaut Formulaire avec une liste déroulante qui renvoit à plusieurs tables
    bonjour
    je solicite votre aide par ce que je sais pas comment faire pour résoudre un petit prob:
    j'ai des tables nommées ,Tbl_R100, Tbl_R120, Tbl_R130....
    j'ai crée un formulaire avec une liste déroulante qui contient numéro de tables ,100.120.130 . je veux que quand je choisis ds la liste déroulante une valeur par ex 100 , le formulaire affiche les enregistrements sur cette table çàd Tbl_R100 et pas une autre et comme ça je peux faire des modifs sur cette table.
    donc si vous pouvez m'aider je serais tres reconnaissant
    merci énormément
    et bonne journée

  2. #2
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Il va falloir passer par VBA je pense: sur l'evenement BeforeUpdate de la premiere liste tu ecris en VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Nom2emeListe.RowSource = "SELECT nomchampdevaleurs FROM Tbl_R" & nom1ereliste.value & ";" 'Change la source de la 2eme liste
     
    Nom2emeliste.Requery 'Pour le faire updater la liste
    En fait il faut concatener la chaine de caracteres "tbl_R" avec le chiffre et le chiffre est dans la case nom1ereliste. Le probleme c'est que si tu mets FROM Tbl_R[nom1ereliste]" il va le prendre au mot et ne pas chercher la valeur du champ (et il te mettra un beau message d'erreur "je connais pas la table Tbl_R[nom1ereliste]" donc il faut separer ce qui est entre guillemets (qui ne sera pas interprete mais pris tel quel comme du texte) et ce qui est hors des guillemets qui sera interprete. On lie les deux par l'operateur & de concatenation

    Dis moi si ca marche!

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Merci catoucat pour ton aide
    en fait j'ai essayé d'aprés ce que j'ai compris mais ça ne marche pas
    en fait je vois pas ce que tu voulais dire nom1ereliste , nom2emeliste et où je peux les trouver ensuite nomchampdevaleurs non plus
    je suis désolé de t'embêter je suis un grand débutant ne m'enveux pas s'il te plait merci encore une fois

  4. #4
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Il faut que tu remplaces les noms que j'ai mis par les noms qui sont dans ta base Pour tes listes de valeur elles ont un nom (click droit, proprietes, autres) et c'est ce nom qu'il faut reprendre. nomduchamp c'est le nom du champ dans la table qu'il faut aller voir (le champ qui donnera les valeurs pour la liste)

    Pour la partie VBA tu n'es pas trop perdu? Tu as bien fait sur la 1ere zone de liste click droit / proprietes / evenement / BeforeUpdate et puis Code? Ensuite il faut mettre les lignes de code entre le Sub et End Sub

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    merci encore une fois
    j'ai essayé mais ça ne marche , aura tu une autre solution stp par ce que là je suis vraiment coincé
    cordialement

  6. #6
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Qu'est-ce que tu as fait pour l'instant? Comment s'appellent tes champs? Sinon tu peux envoyer la base sur le forum ou bien a moi en MP comme ca on pourra mieux voir ce qui ne va pas

  7. #7
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut chabagrou,
    Ce que tu veux réaliser est quasiment simple à mettre en oeuvre si les tables Tbl_R100, Tbl_R120, Tbl_R130 sont des tables à structure IDENTIQUE (c'est à dire les mêmes champs!) car il suffirait à modifier la propriété RecordSource du formulaire en question. Je ne dis pas que le fait d'avoir des tables à structure différente n'est pas faisable mais tout simplement un tout petit peu difficile car il te faudra modifier chaque RecordSource et du formulaire et des contrôles et les libellés avec quelques lignes de codes en VBA. Je présume qu'on en est pas là!
    Récapitulons: tu as trois tables identiques (mais différentes), un formulaire basé sur l'une de ces tables (au préalable) et une zone de liste dans le formulaire.
    Tu veux que lorsqu'on clique sur un numéro de table dans la zone de liste, le formulaire affiche les données de cette table et rien d'autre!
    Je pose que la zone de liste se nomme ZL.
    Voici comment tu dois procéder:
    A l'événement Sur Click de la zone de liste, places le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub ZL_Click()
    	Me.RecordSource = "Tbl_R" & Me.ZL
    	Me.Requery
    End Sub
    Bon courage et @+

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    merci enormement pour votre aide

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/06/2014, 11h21
  2. Réponses: 1
    Dernier message: 29/10/2013, 12h13
  3. [AC-2010] Trier formulaire avec une liste déroulante.
    Par geektarist dans le forum Access
    Réponses: 6
    Dernier message: 05/07/2012, 00h16
  4. trier dans un formulaire avec une liste déroulante
    Par FENUA CLIM dans le forum IHM
    Réponses: 2
    Dernier message: 04/08/2008, 08h45
  5. Réponses: 1
    Dernier message: 08/05/2008, 23h00

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