Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2011, 19h42   #1
Invité de passage
 
Femme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Canada

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Par défaut liaison de formulaires d'une même table

Bonjour!
Je débute sur Access 2010 et je suis en train de travailler une base de données pour des matériaux.
J'ai une table nommée T_Mat et un formulaire nommé F_Mat.
Étant donné que j'ai dépassé la taille limite d'un formulaire et que certains champs ne sont pas toujours à remplir. J'aimerais qu'en un clic sur un bouton le formulaire F_Mat s'enregistre, se ferme et ouvre un nouveau formulaire nommé F_Adr.
Les champs de ces 2 formulaires sont tous de la même table (T_Mat).
Ma clé primaire est un champ nommé NumFiche.

J'ai essayé avec des macros et mon problème est que les enregistrements ne se suivent pas d'un formulaire à l'autre. Cela devient donc très difficile à remplir...

J'ai essayé de vous donner le plus d'information pertinente.

Merci pour votre aide.
Newbi101 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 19h50   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Citation:
Envoyé par Newbi101 Voir le message
Étant donné que j'ai dépassé la taille limite d'un formulaire
la taille limite ? Pourquoi ?

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 20h14   #3
Invité de passage
 
Femme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Canada

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Oui, en fait je n'ai plus d'espace dans le formulaire pour ajouter des champs. (a moins de rendre ça coincé...) Le formulaire ne peut pas s'allonger indéfiniment.
Newbi101 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 20h18   #4
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

A mon avis un gros problème de conception au démarrage pour avoir autant de champs dans un formulaire.

Il faudrait que tu montres les tables de ta base pour que les membres du forum puissent t'aider.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2011, 20h46   #5
Invité de passage
 
Femme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Canada

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Salut,
En passant, merci de me répondre aussi rapidement.

Je n'ai qu'une seule table et c'est T_Mat, mais au début j'en avais fait plusieurs, pour diviser par catégorie les champs que je voulais. J'avais aussi plusieurs formulaires. Comme je ne réussissais pas à régler mon problème et que je m'en créais d'autre, j'ai décider de mettre tous mes champs dans une même table et de créée un seul formulaire. Puisque c'est ''trop'' pour le formulaire, j'ai créé un formulaire F_Adr pour certains champs facultatifs, de cette façon je réduit la taille du formulaire principal.

Brièvement, ma base de données actuelle comporte:
T_Mat (table avec tous les champs nécessaire)
F_Mat (formulaire principal)
F_Adr (formulaire que je veux accéder par un clic, car il n'est nécessaire pour chaque entrée)

Je peux mettre ma table sur le forum, mais je ne crois pas que se soit bien utile de savoir quel son chacun des 50 champs... Le problème est plus que je ne sais pas comment je peux passer d'un formulaire à l'autre sans changer d'enregistrement....
Newbi101 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 16h47   #6
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
il faut conserver l'identifiant unique (NumFiche) de ta table dans chaque formulaire et le passer en paramètre sur ouverture de tes autres formulaires via la propriété Me.Filter.

Ce qui doit donner pour ton cas au chargement de ton formulaire F_Adr

Code :
1
2
3
4
5
6
7
If (CurrentProject.AllForms("F_Mat").IsLoaded) Then
      If Not IsNull([Forms]![F_Mat]!TxtMonControleNumFiche.Value) Then
            Me.Filter = "[F_Adr].NumFiche = " & Forms![F_Mat].TxtMonControleNumFiche.Value & ""
            Me.Form.FilterOn = True
                        Exit Sub
      End If
End If
Il faut bien sûr remplacer le nom du contrôle "TxtMonControleNumFiche" par le nom que tu lui as donné dans ton formulaire principal.
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/06/2011, 20h57   #7
Invité de passage
 
Femme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Canada

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Bonjour,
Voici des screen shots de ma base de donnée.... J'espère que cela pourra t'aider.

Ca ne fonctionne pas....
Images attachées
Type de fichier : png base 1.png (163,5 Ko, 5 affichages)
Type de fichier : png base 2.png (85,3 Ko, 5 affichages)
Type de fichier : png base 3.png (50,0 Ko, 6 affichages)
Newbi101 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 02h23   #8
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

C'est bien ce que je pensais, il faudrait revoir ta conception de ta base, ta table doit être éclatée en plusieurs, comme une table fournisseur par exemple.

A lire : Access - Les Bases : Introduction et Conception

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 10h03   #9
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Si tu veux conserver tes macros parce que tu te sens plus à l'aise avec tu peux faire aussi:

Action1 : OuvrirFormulaire (Le nom du formulaire à ouvrir, soit F_Adr)
Action2 : DéfinirValeur
Elément: [Formulaires]![F_Adr]![NumFiche]
Expression: [Formulaires]![F_Mat]![NumFiche]

Mais comme le dit Philippe tu devrais scinder ta table au moins en 2 voir 3 tables.

1. Matière
2. Type Matière
3. Fournisseur
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 19h28   #10
Invité de passage
 
Femme
Inscription : juin 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Canada

Informations forums :
Inscription : juin 2011
Messages : 5
Points : 0
Points : 0
Bonjour!
Merci pour vos réponse.

J'avais commencer en créant 3 tables diférentes. Cependant, cela m'a causé le même problème de liaison, c'est à dire que, lorsque je passais d'un forumlaire à l'autre les enregistrements ne se suivait pas, je passais du 3 au 1, par exemple.

J'ai donc essayé en créant qu'un seul formulaire et une seul table, car je ne voyais plus l'utilitée d'avoir plusieurs tables si je n'avais qu'un formulaire...Sauf que le tout n'a pas rentré complètement sur un seul formulaire.

Si vous pouvez m'expliquer comment bien lier mes 3 formulaires entre eux pour que lors de la saisie de donnée les enregistrements ne se mêle pas en passant de l'un à l'autre, je peux revenir à mon ancienne version (celle ou j'ai plusieurs tables). Je n'ai pas supprimer mes travaux!

Aussi, j'ai essayé comme Orakle a proposer
Citation:
Envoyé par Orakle Voir le message
Si tu veux conserver tes macros parce que tu te sens plus à l'aise avec tu peux faire aussi:

Action1 : OuvrirFormulaire (Le nom du formulaire à ouvrir, soit F_Adr)
Action2 : DéfinirValeur
Elément: [Formulaires]![F_Adr]![NumFiche]
Expression: [Formulaires]![F_Mat]![NumFiche]

...
Cependant je n'ai pas de macro qui se nomme DéfinirValeur...
J'ai essayé avec DéfinirVarLocale, DéfinirFiltre... et toujours rien.

Je ne comprends pas ce que je ne fais pas correctement....

Quand j'ai mis le code, pourtant j'ai bien fait exactement ce que vous m'avez suggéré...???(voir les PFD)

Bref, j'espère que vous avez une idée là dessus....

Merci
Newbi101 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 14h09   #11
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Citation:
Envoyé par Newbi101 Voir le message
Étant donné que j'ai dépassé la taille limite d'un formulaire ...
Bonjour,

Sous Access 2007, j'avais atteint la limite du nombre de champs dans un formulaire (un peu plus de 100). J'ai résolu le problème en utilisant des sous-formulaires car Access considère le sous-formulaire comme un seul champ.

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h03.


 
 
 
 
Partenaires

Hébergement Web