OVH Cloud OVH Cloud

LinkChildField

3 réponses
Avatar
Mitch
Bonjour,

un petit casse-tête avec les sous-formulaires...

J'ai sur un formulaire, un seul champ, qui sert de référence pour filtrer un
sous formulaire. Lors de l'ouverture du formulaire, le sous formulaire
s'ouvre, également.
Ensuite, grace a la liaison child-Master du sous formulaire, je sélectionne
un collaborateur dans le champ du formulaire, et les records correspondant
s'affiche dans le sous formulaire en mode continu. Jusque la...super.

Appelons le champ de choix du formlaire : ChoixCollaborateur (correspond a
la Table tblCollaborateurs, champ RefColl)
Appelons le champ dans le sous formulaire : QuiTache1 (correspond a la Table
tblContacts, champs QuiTache1)

Mais les collaborateurs ont plusieures tâches, donc plusieures champs dans
la tblContacts ou ils peuvent apparaitre. Soit :

QuiTache2, QuiTache3 et QuiTache4

La ca se corse, j'aimerais retrouver dans le sous formulaire, pour chaque
Collaborateur, toutes les tache qu'il a effectuées, Tache1, ou 2....

Link Child permet la référence suivante :

ChoixCollaborateur = Tache1
ChoixCollaborateur = Tache3
etc.....

Mais ces choix fonctionnent selon la rêgle AND. Donc j'ai dans ma liste les
records ou le Collaborateur a rempli les Taches (p.ex) 1 ET 3
et ce que je recherche, c'est les records ou le Collaborateur sélectionné à
rempli au moins une tache, soit la 1, ou la 2, ....

Donc, comment transformer les Link en fonction OR

Simple non ?

Merci d'avance de votre support

Mitch

3 réponses

Avatar
Argyronet
ionjour,

Ce phénomène de OU n'est pas réalisable vu comme tel...
En fait, il faut soit que la combo qui permette de choisir votre
collaborateur soit définie pour tous contacts confondus, soit faire en sorte
de pouvoir choisir un collaborateur pour un contact donné => donc soit 2
combos soit un second sous-formulaire.
Au niveau dev, en haut dans le formulaire principal, les données du
collaborateur, en dessous, la liste de ces contact dans un 1er
sous-formulaire et sur clique sur l'un de ces constacts, les tâches
apparaissent.
Envisagez aussi la Clause TOUS avec une case à cocher qui inclu tous les
contacts.
Le 1er sous-form aura un champs pères / champs fils sur idCollabo/idContact
et le second sur idCollabo/idContact/idTache ; si la case est coché, alors,
il faut dynamiquement changer les propriété LinkMasterField et LinkChildField
en temps réel sur l'événement clic.

Bon courage

Argy
--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

un petit casse-tête avec les sous-formulaires...

J'ai sur un formulaire, un seul champ, qui sert de référence pour filtrer un
sous formulaire. Lors de l'ouverture du formulaire, le sous formulaire
s'ouvre, également.
Ensuite, grace a la liaison child-Master du sous formulaire, je sélectionne
un collaborateur dans le champ du formulaire, et les records correspondant
s'affiche dans le sous formulaire en mode continu. Jusque la...super.

Appelons le champ de choix du formlaire : ChoixCollaborateur (correspond a
la Table tblCollaborateurs, champ RefColl)
Appelons le champ dans le sous formulaire : QuiTache1 (correspond a la Table
tblContacts, champs QuiTache1)

Mais les collaborateurs ont plusieures tâches, donc plusieures champs dans
la tblContacts ou ils peuvent apparaitre. Soit :

QuiTache2, QuiTache3 et QuiTache4

La ca se corse, j'aimerais retrouver dans le sous formulaire, pour chaque
Collaborateur, toutes les tache qu'il a effectuées, Tache1, ou 2....

Link Child permet la référence suivante :

ChoixCollaborateur = Tache1
ChoixCollaborateur = Tache3
etc.....

Mais ces choix fonctionnent selon la rêgle AND. Donc j'ai dans ma liste les
records ou le Collaborateur a rempli les Taches (p.ex) 1 ET 3
et ce que je recherche, c'est les records ou le Collaborateur sélectionné à
rempli au moins une tache, soit la 1, ou la 2, ....

Donc, comment transformer les Link en fonction OR

Simple non ?

Merci d'avance de votre support

Mitch







Avatar
Mitch
Merci beaucoup de ces infos, mais si j'ose,
je recherche aussi comment changer le paramêtrage du combobox pour qu'il
pilote le sous formulaire avec du code.
ce code pourrait être appliqué a la requête qui est derrière le sous
formulaire ( donner les critères)
et avec un "refresh".....le sous-formulaire se met "à jour"....

pas si simple...je n'ai pas assez de connaissance du code, juste introduire
des codes sous
"on cklick", ou "on change"....(procédures et fonctions)

Merci ...Mitch

"Argyronet" a écrit dans le message de
news:
ionjour,

Ce phénomène de OU n'est pas réalisable vu comme tel...
En fait, il faut soit que la combo qui permette de choisir votre
collaborateur soit définie pour tous contacts confondus, soit faire en
sorte
de pouvoir choisir un collaborateur pour un contact donné => donc soit 2
combos soit un second sous-formulaire.
Au niveau dev, en haut dans le formulaire principal, les données du
collaborateur, en dessous, la liste de ces contact dans un 1er
sous-formulaire et sur clique sur l'un de ces constacts, les tâches
apparaissent.
Envisagez aussi la Clause TOUS avec une case à cocher qui inclu tous les
contacts.
Le 1er sous-form aura un champs pères / champs fils sur
idCollabo/idContact
et le second sur idCollabo/idContact/idTache ; si la case est coché,
alors,
il faut dynamiquement changer les propriété LinkMasterField et
LinkChildField
en temps réel sur l'événement clic.

Bon courage

Argy
--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on
obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

un petit casse-tête avec les sous-formulaires...

J'ai sur un formulaire, un seul champ, qui sert de référence pour filtrer
un
sous formulaire. Lors de l'ouverture du formulaire, le sous formulaire
s'ouvre, également.
Ensuite, grace a la liaison child-Master du sous formulaire, je
sélectionne
un collaborateur dans le champ du formulaire, et les records
correspondant
s'affiche dans le sous formulaire en mode continu. Jusque la...super.

Appelons le champ de choix du formlaire : ChoixCollaborateur (correspond
a
la Table tblCollaborateurs, champ RefColl)
Appelons le champ dans le sous formulaire : QuiTache1 (correspond a la
Table
tblContacts, champs QuiTache1)

Mais les collaborateurs ont plusieures tâches, donc plusieures champs
dans
la tblContacts ou ils peuvent apparaitre. Soit :

QuiTache2, QuiTache3 et QuiTache4

La ca se corse, j'aimerais retrouver dans le sous formulaire, pour chaque
Collaborateur, toutes les tache qu'il a effectuées, Tache1, ou 2....

Link Child permet la référence suivante :

ChoixCollaborateur = Tache1
ChoixCollaborateur = Tache3
etc.....

Mais ces choix fonctionnent selon la rêgle AND. Donc j'ai dans ma liste
les
records ou le Collaborateur a rempli les Taches (p.ex) 1 ET 3
et ce que je recherche, c'est les records ou le Collaborateur sélectionné
à
rempli au moins une tache, soit la 1, ou la 2, ....

Donc, comment transformer les Link en fonction OR

Simple non ?

Merci d'avance de votre support

Mitch









Avatar
Argyronet
Bien en fait, ça se gère assez simplement.
Il faut que vous mettiez une case à cochernommée chkAllContacts, 2 combos
,nommés cmbCollaborateurs et cmbContacts...
Donc...
Imaginons un comboBox qui contient tous les collaborateurs (ID+Nom)
Sur l'événement After_Update de ce combo, vous montez un :
Dim SQLConctactsCollabos As String
SQLConctactsCollabos = "SELECT IdContact, ContactName FROM TBLContact
WHERE IdColl = " & Me!cmbCollaborateurs & ";"

=> !!! *** Mettre " & Chr(34) & Me!cmbCollaborateurs & Chr(34) & ";" si
IdColl est de type Texte....

puis:

cmbContacts.RowSource = SQLConctactsCollabos

Enfin sur l'événement After_Update du cmbContacts, du fait que les valeurs
de LinkMasterField et LinkChildField soient définies (et que chkAllContacts
est décochée) alors :

cmbContacts.Enabled = Not Me!chkAllContacts
Me!cmbContacts = vbNullString

Dans cette idée, créez alors deux sous-formulaires posé l'un sur l'autre
avec un Visible par défaut et l'autre invisible... (Conséquent à la
chkAllContacts, bien entendu)

Donc, la visiblité des sous-formualires change en conséquence du CheckBox:
Private Sub chkAllContacts_Click()
If Me!chkAllContacts then
sousfrmTachesTousContacts.Visible=True
sousfrmTachesContactCible.Visibleúlse
sousfrmTachesTousContacts.Requery
Else
sousfrmTachesTousContacts.Visibleúlse
sousfrmTachesContactCible.Visible=True
sousfrmTachesContactCible.Requery
End If
End Sub

C'est une idée parmi tant d'autres mais celle-ci est simple.

Bon courage
--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Merci beaucoup de ces infos, mais si j'ose,
je recherche aussi comment changer le paramêtrage du combobox pour qu'il
pilote le sous formulaire avec du code.
ce code pourrait être appliqué a la requête qui est derrière le sous
formulaire ( donner les critères)
et avec un "refresh".....le sous-formulaire se met "à jour"....

pas si simple...je n'ai pas assez de connaissance du code, juste introduire
des codes sous
"on cklick", ou "on change"....(procédures et fonctions)

Merci ...Mitch

"Argyronet" a écrit dans le message de
news:
ionjour,

Ce phénomène de OU n'est pas réalisable vu comme tel...
En fait, il faut soit que la combo qui permette de choisir votre
collaborateur soit définie pour tous contacts confondus, soit faire en
sorte
de pouvoir choisir un collaborateur pour un contact donné => donc soit 2
combos soit un second sous-formulaire.
Au niveau dev, en haut dans le formulaire principal, les données du
collaborateur, en dessous, la liste de ces contact dans un 1er
sous-formulaire et sur clique sur l'un de ces constacts, les tâches
apparaissent.
Envisagez aussi la Clause TOUS avec une case à cocher qui inclu tous les
contacts.
Le 1er sous-form aura un champs pères / champs fils sur
idCollabo/idContact
et le second sur idCollabo/idContact/idTache ; si la case est coché,
alors,
il faut dynamiquement changer les propriété LinkMasterField et
LinkChildField
en temps réel sur l'événement clic.

Bon courage

Argy
--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on
obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

un petit casse-tête avec les sous-formulaires...

J'ai sur un formulaire, un seul champ, qui sert de référence pour filtrer
un
sous formulaire. Lors de l'ouverture du formulaire, le sous formulaire
s'ouvre, également.
Ensuite, grace a la liaison child-Master du sous formulaire, je
sélectionne
un collaborateur dans le champ du formulaire, et les records
correspondant
s'affiche dans le sous formulaire en mode continu. Jusque la...super.

Appelons le champ de choix du formlaire : ChoixCollaborateur (correspond
a
la Table tblCollaborateurs, champ RefColl)
Appelons le champ dans le sous formulaire : QuiTache1 (correspond a la
Table
tblContacts, champs QuiTache1)

Mais les collaborateurs ont plusieures tâches, donc plusieures champs
dans
la tblContacts ou ils peuvent apparaitre. Soit :

QuiTache2, QuiTache3 et QuiTache4

La ca se corse, j'aimerais retrouver dans le sous formulaire, pour chaque
Collaborateur, toutes les tache qu'il a effectuées, Tache1, ou 2....

Link Child permet la référence suivante :

ChoixCollaborateur = Tache1
ChoixCollaborateur = Tache3
etc.....

Mais ces choix fonctionnent selon la rêgle AND. Donc j'ai dans ma liste
les
records ou le Collaborateur a rempli les Taches (p.ex) 1 ET 3
et ce que je recherche, c'est les records ou le Collaborateur sélectionné
à
rempli au moins une tache, soit la 1, ou la 2, ....

Donc, comment transformer les Link en fonction OR

Simple non ?

Merci d'avance de votre support

Mitch