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 12/12/2011, 10h56   #1
Invité régulier
 
Homme
Étudiant
Inscription : mai 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : mai 2011
Messages : 14
Points : 6
Points : 6
Par défaut Liaison entre enregistrements de formulaire et sous formulaire

Bonjour à tous,

Cela fais quelques semaines que je me penche sur une question sans trouver de réponses ou de pistes.
Est-il possible de lier l'enregistrement courant d'un formulaire avec un des enregistrements d'un sous formulaire qui affiche tous les enregistrements d'une table?

Explication:
J'ai un formulaire qui affiche le détail des champs d'une table (RECEPTION pour l'exemple), en dessous j'ai un sous formulaire qui affiche la totalité des enregistrement de cet table RECEPTION .
J'aimerais, quand je clic sur un enregistrement du sous formulaire (exemple: le n°5), que ce soit cet enregistrement n°5 qui soit affiché dans le détail présent au dessus. L'enregistrement courant du formulaire principal doit donc correspondre à l'enregistrement sélectionné dans le sous formulaire afin de ne pas risquer de modifier un autre enregistrement.



Merci d'avance pour vos réponses attendues. Cordialement, Dutchou.
Dutchou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h14   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 258
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 258
Points : 1 877
Points : 1 877
Bonsoir,

Depuis le sous-formulaire, il est possible d'appeler me.parent.xxx pour intervenir sur le formulaire principal. Toutefois la logique d'access est plutot inverse puisqu'une sélection dans le formulaire peut filtrer automatiquement le sous-formulaire !
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 09h12   #3
Invité régulier
 
Homme
Étudiant
Inscription : mai 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : mai 2011
Messages : 14
Points : 6
Points : 6
Bonjour nico84, merci d'avoir répondu

Pour expliquer plus clairement, j'aimerais le même résultat qu'un "formulaire double affichage" [AC-2007+] mais avec la contrainte du 2003.
Dutchou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 10h54   #4
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 258
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 258
Points : 1 877
Points : 1 877
Désolé je n'utilise pas ce type d'ergonomie, je trouve plus pratique de modifier directement dans la table à laquelle j'ajoute un module de filtre et des controles. Mais il est vrai que ça demande pas mal de code...
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 15h15   #5
Invité régulier
 
Homme
Étudiant
Inscription : mai 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : mai 2011
Messages : 14
Points : 6
Points : 6
Avec du courage, une feuille, un stylo et une prière envers le dieu de l'algorithme je suis arrivé un résultat plutôt satisfaisant.

Système utilisé via un bouton pour facilité le tout.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Public Sub bt_search_Click()
On Error GoTo err
 
    Dim cle As String
    Dim search As String
 
    'Récuperation du code de réception de l'enregistrement affiché
    cle = Me.code_reception
    'Récupération du code de récéption de l'enregistrement sélectionné dans le sous formulaire
    search = Forms!Frm_Reception!sf_reception!code_reception.Value
 
    'Positionnement sur le 1er enregistrement
    DoCmd.GoToRecord , , acFirst
 
    'Boucle de test
    Do While Not IsNull(cle)
        cle = Me.code_reception
        If (search <> cle) Then
            'Enregistrement suivant
            DoCmd.GoToRecord , , acNext
        Else
            'Enregistrement trouvé, fin.
            Exit Sub
        End If
    Loop
    'Erreur survenue dans la boucle par rapport à la comparaison des 2 valeurs
    MsgBox ("Erreur")
 
err:
    Exit Sub
End Sub
Dutchou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 18h50   #6
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 258
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 258
Points : 1 877
Points : 1 877
Il me semble que l'instruction findfirst sert à ça :
Code :
Recordset.FindFirst "code_reception='" & cle & "'"
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web