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

IHM Discussion :

Formulaire commun a plusieurs tables


Sujet :

IHM

  1. #1
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut Formulaire commun a plusieurs tables
    Bonjour,
    Je me pose une question, peut-on créer un seul formulaire commun à plusieurs tables ?
    Ou bien faut-il créer autant de formulaires que de table, seul changerait le nom de la table, les champs ayant le même nom.
    Bonne journée
    Le mieux est l'ennemi du bien

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pour répondre à ta question, oui on peut ne faire qu'un seul formulaire et par code changer la source de données.

    Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Recordsource="select * from TaTable"
    Il n'est pas obligatoire que ce soit du SQL, je pense que Me.Recordsource="TaTable" fonctionne et il est sur que tu peux faire Me.Recordsource="uneRequete".

    À mettre dans l'événement Sur Ouverture (ou sur Chargement, à tester).

    Mais si tu as plusieurs tables avec les mêmes champs, peut-être ne devrais-tu n'avoir qu'une seule table.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    si, effectivement, les tables ont la même structure, il est possible de mutualiser le formulaire en passant, par exemple, le nom de la source dans les arguments d'ouverture du formulaire (OpenArgs).
    1) pour ouvrir le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Docmd.openform "monformulaire", openargs:="Table1"
    ' ou sans nommer le paramètre:
    Docmd.openform "monformulaire", , , , , , "Table1"
    2) et dans l'évènement Form_Open du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not isnull(me.openargs) then me.recordsource = openargs
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    Merci tee_grandbois,
    Cela doit-être ce que je cherche, dans mon cas, ce sont les tables des comptes PEL et LDD à priori identiques en forme (ou autres) ; c'est vrai que des champs sont aussi identiques, mais j'avais modifié plusieurs noms : ID_PEL et ID_LDD, si j'adopte cette solution, je vais devoir les renommer.
    J'hésite à avoir les formulaires en double ou triple ou un seul avec des paramètres différents dans les modules avec des "if" partout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set oRst = oDb.OpenRecordset("t_EquilLDD", dbOpenTable)
    Le mieux est l'ennemi du bien

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    J'hésite à avoir les formulaires en double ou triple ou un seul avec des paramètres différents dans les modules avec des "if" partout :
    depuis un formulaire principal avec un bouton pour chaque compte et pour chacun la bonne table qui va bien, c'est simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub bouton1_Click()
    ' PEL
    Docmd.openform "monformulaire", openargs:="Table_PEL"
    end sub
    ' LDD
    Private Sub bouton2_Click()
    Docmd.openform "monformulaire", openargs:="Table_LDD"
    end sub
    ' ...
    Cela doit-être ce que je cherche, dans mon cas, ce sont les tables des comptes PEL et LDD à priori identiques en forme (ou autres) ;
    à mon sens, c'est contre nature de créer une table par compte, en général, on les regroupe dans une seule table et on les identifie par leur "nature" (compte courant, PEL, LDD, DAT, etc.) et comme chaque compte dans une banque a un identifiant unique (le numéro de compte) c'est facile de les identifier.
    Mais bon, c'est ton choix ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #6
    Membre habitué Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 433
    Points : 188
    Points
    188
    Par défaut
    à mon sens, c'est contre nature de créer une table par compte, en général, on les regroupe dans une seule table et on les identifie par leur "nature" (compte courant, PEL, LDD, DAT, etc.) et comme chaque compte dans une banque a un identifiant unique (le numéro de compte) c'est facile de les identifier.
    Mais bon, c'est ton choix ...
    Tu as raison, mais je n'avais pas vu le sujet de cette façon, donc je vais repartir avec d'autres bases, les tiennes.
    J'avais vu une discussion sur le forum, ou il y avait un super organigramme pour la création d'une comptabilité personnelle, que je n'avais pas bien compris. Maintenant avec ta réponse les choses s'éclairent. Il faut que je retrouve cette discussion de 7 pages.
    Le mieux est l'ennemi du bien

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/05/2008, 18h11
  2. Réponses: 2
    Dernier message: 10/05/2008, 17h53
  3. Contrôles formulaire venant de plusieurs tables
    Par alainmante dans le forum IHM
    Réponses: 5
    Dernier message: 05/05/2008, 18h51
  4. Réponses: 2
    Dernier message: 09/08/2006, 22h04
  5. sous-formulaire : champs provenant plusieurs tables
    Par patbeautifulday1 dans le forum IHM
    Réponses: 13
    Dernier message: 21/12/2005, 11h17

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