Rechercher : dans
Par :

Access: lier des formulaires

Dernière réponse le 27 jun 2008 à 18:06:53 aur82, le 27 jun 2008 à 10:58:17 
 Signaler ce message aux modérateurs

Bonjour,

Je suis en train de construire un grand formulaire sur Access qui ne tient pas sur une seule requête, ni un seul formulaire. J'en ai donc créer plusieurs. Je souhaite que l'utilisateur n'ai pas l'impression qu'il utilise plusieurs formulaires. Pour cela j'ai créer un bouton avec une macro qui ouvre le formulaire suivant et ferme celui en cours.

Mon problème: Lorsque j'ouvre le deuxième formulaire, celui-ci ce présente sous le premier enregistrement alors que j'aimerais rester dans l'enregistrement en cours.

Est-ce que vous savez comment faire pour que lorsqu'on ouvre un formulaire, il se place automatiquement dans le bon enregistrement????

Merci pour votre aide!

Aur

Configuration: Windows XP
Internet Explorer 6.0

1

LatelyGeek, le 27 jun 2008 à 11:12:23

Le plus simple serait peut-être de mettre des onglets dans un seul formulaire. Tu sais faire??? Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

2

aur82, le 27 jun 2008 à 11:18:03

Oui, mais là j'ai déjà construit mes 5 formulaires. Et en plus j'ai trop de champs pour faire une requête avec tous...

Répondre à aur82

3

CapitainCo, le 27 jun 2008 à 11:21:37

"j'ai trop de champs pour faire une requête avec tous..." ???
tu as fais tes requetes en qbe? tu peux rajouter des colonnes...
et je ne pense pas que les requetes soient limités...

Répondre à CapitainCo

4

aur82, le 27 jun 2008 à 11:29:34

Qbe?

Répondre à aur82

5

aur82, le 27 jun 2008 à 11:35:36

Ben si c'est limité: Je construit ma requête avec l'assisstant requête et lorsque je veux l'essayer, j'ai un message d'erreuer: "Trop de champ défini".

sache qu'en informatique, jamais rien n'est infini.

Répondre à aur82

6

LatelyGeek, le 27 jun 2008 à 12:10:01

Mais tu as combien de champs, dans cette requête????

Enfin bon, si le problème est insoluble, il faut que tu rajoutes un filtre sur les formulaires ouverts par les boutons, de façon à ce que seul l'enregistrement du premier s'affiche dans les autres.

Ca donne ça:

Dim Filtre As String
Filtre = "[N°SS]=" & "'" & Me![N°SS] & "'"
DoCmd.OpenForm "Employés2", , , Filtre

(Dans mon exemple, il s'agit d'un formulaire Emplyés donc la clé est le N°SS - à toi d'dapter, bien sûr)
Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek

7

aur82, le 27 jun 2008 à 14:53:28

MA-GNI-FIQUE!!!
Ca marche!
Merci bcp.

Je sais que j'abuse, mais est-ce que tu peux encore me donner le code pour refermer le 1er formulaire en même temps (j'avas fait un macro pour ça, mais c'est plus trop possible, là)

Et j'ai environ 350 champs ;-)

A+

Répondre à aur82

8

aur82, le 27 jun 2008 à 15:57:58

Pour fermer mon formulaire, j'y suis arrivée toute seule :-)

Merci encore pour ton aide.


Private Sub Commande92_Click()
On Error GoTo Err_Commande92_Click
Dim Filtre As String
Filtre = "[CPNBR]=" & "'" & Me![CPNBR] & "'"
DoCmd.OpenForm "Formulaire2_Travail", , , Filtre
DoCmd.Close acForm, "Formulaire1_Social", acSaveYes
Exit_Commande92_Click:
Exit Sub
Err_Commande92_Click:
MsgBox Err.Description
Resume Exit_Commande92_Click
End Sub

Répondre à aur82

9

 LatelyGeek, le 27 jun 2008 à 18:06:53

J'ai même pas eu le temps de répondre!!! Trop forte. Pourquoi se compliquer la vie à faire simple, quand c'est si simple de faire compliqué?

Répondre à LatelyGeek