Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
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 29/08/2007, 18h56   #1
Membre à l'essai
 
Inscription : août 2007
Messages : 122
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : août 2007
Messages : 122
Points : 21
Points : 21
Par défaut [access 2007] Liaison entre 2 formulaires

Bonjour à tous...

Malgrè la lecture de dizaines de forums et autres tutauriaux... rien à faire, je n'arrive pas à ouvrir un formulaire basé sur un autre formulaire...
Bon, je ne suis pas un expert non plus...
Voilà mon profil :

J'ai une table salariés (ID, nom, prénom, etc...) et un formulaire pour travailler cette table. C'est le formulaire de base, celui qui s'ouvre au démarrage.

J'ai une autre table, congès, composée de ID, date début, date fin et un formulaire "fcongès".

Les 2 tables sont liées par ID

Sur la table "salariés", j'ai placé un bouton pour ouvrir le formulaire "fcongés" en mode création pour saisir et ajouter dans la table "congés" les informations à saisir.

maintenant, je souhaite voir apparaître dans ce formulaire "fcongés" le nom & prénom du salarié d'où j'ai activé la macro, et pouvoir saisir les nouvelles dates de congès pour qu'elles soient ajoutées dans la table congés...

bon... ai-je été clair

merci de votre aide et, je l'espère... à vite... (avant que j'en perde mes cheveux)
papagei2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 10h47   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 096
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 096
Points : 11 628
Points : 11 628
Bonjour,

La solution a déjà été donnée à de nombreuse reprises dans ce forum.

utiliser la clause Where de la commande Docmd.openform

Code :
"ChampIDDuFormulaire2 =" & me.moncontroleIDduFormulaire1
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 21h50   #3
Membre à l'essai
 
Inscription : août 2007
Messages : 122
Détails du profil
Informations personnelles :
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : août 2007
Messages : 122
Points : 21
Points : 21
Par défaut Prise de tête....

Bonsoir et merci de votre réponse...

oui, c'est bien le code que j'ai lu partout !
mais je n'arrive pas à l'intégrer au formulaire... où le placer ?

voici mon formulaire "congés" :

NOM
Prénom
Date début
Date de fin

c'est pourtant simple... mais je n'y arrive pas !

Ce que je souhaite, c'est voir le NOM et le prénom de la personne concernée, celle qui était affichée sur le formulaire "salariés" lorsque j'ai cliqué sur le bouton ouverture du formulaire...

Par contre, je souhaite que les champs "début" et "fin" soient vierges puisque le but et de saisir les nouvelles dates de vacances...

parfois, le nom s'affiche bien, mais les dates de début et de fin ne sont pas vierges et présentent les dates des premieres données saisies pour la personne.

parfois, les dates de début et fin sont bien vierges, mais j'ai un ?NOM dante le champ NOM...

et puis, lorsque que saisie la condition WHERE telle que vous me l'avez indiqué, access modifie la construction de la formule, avec des "expr", des signes = qui apparaissent...

et où faut'il la mettre ? dans le bouton d'ouverture du formulaire ? dans le formulaire en entier ? dans le champ "NOM" seulement ???

là, je suis un peu énervé...

merci encore de votre aide

Sylvain
papagei2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2007, 11h15   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 096
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 096
Points : 11 628
Points : 11 628
Bonjour,

Le code Docmd doit être mis dans l'éditeur VBA (puisque c'est du VBA).

Notez que la condition Where ne fonctionne que pour des données existantes, ce qui n'est pas le cas puisque c'est en vue d'une saisie.

Ce qu'il faut faire.

Ouvrir le formulaire normalement (voir le générateur de bouton qui fourni automatiquement le code)

Après la ligne docmd.openform, mettre l'assignation de la nouvelle valeur (soit l'ID salarié)

Code :
forms.fconges.id = me.id
Comment affiche-tu le nom et le prénom correspondant à l'ID dans le formulaire fcongés ? Ce sera utile pour te conseiller une méthode pour le raffraichissement.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab 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 23h37.


 
 
 
 
Partenaires

Hébergement Web