OVH Cloud OVH Cloud

Requête avec relation réflexive

6 réponses
Avatar
lectriceNews
Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait réference à un
élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les historiquesElements
dans un formulaire Systèmes avec sous-formulaire
et que l'on sache ajouter - effacer - corriger les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

6 réponses

Avatar
pgz
J'aimerais bien pouvoir t'aider mais j'ai des difficultés à comprendre ce que
tu veux faire:
1. La table 4 c'est l'historique des éléments de systèmes ( valides ou
historisés) ou les éléments des systèmes historisés?
2. Tu veux avoir quoi dans ton formulaire?
Tu devrais peut-être expliciter ton pb avec des exemples, en vue de préciser
*les éléments d'analyse des données
*les fonctionnalités attendues.
pgz


Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait réference à un
élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les historiquesElements
dans un formulaire Systèmes avec sous-formulaire
et que l'on sache ajouter - effacer - corriger les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------




Avatar
lectriceNews
Bonjour,

merci d'avoir répondu.

J'ai continué à chercher et il me reste probablement à
résoudre ceci :

dans un système de facturation

soit les différents services à facturer décrits ds
Table1 : champID_uniqueT1
Ta1.champ1- Ta1.champ2 - etc...

Ta1.champ1
renseigne si un autre service doit être facturé en accompagnement. Pr
certains enregistrements c'est oui, pour d'autres non
sourceContrôle : champID_uniqueT1
saisie non obligatoire

Il me semble que c'est la même situation que ds la base "Les comptoirs" où
un employé peut rendre compte à un autre employé.

comment faire pour afficher dans mon formulaire
certains champs en rapport avec Ta1.champ1
et que l'on puisse encore supprimer
la saisie qui a eu lieu dans le champ Ta1.champ1

Si je n'affiche aucun champ dépendant je peux en cas d'erreur supprimer le
contenu déjà encodé et laisser le champ vide mais j'ai alors très peu
d'information.- un peu comme si j'avais un code postal mais pas la
localité -
je peux onfigurer ma combo pour que soit affiché par exemple le nom du
service (et pas un ID) mais je souhaite afficher dans mon formulaire, plus
d'information, par ex aussi le prix de ce service acompagnant

Voilà, j'espère que ça précise et rend plus concret ma demande.
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
J'aimerais bien pouvoir t'aider mais j'ai des difficultés à
comprendre ce que tu veux faire:
1. La table 4 c'est l'historique des éléments de systèmes ( valides ou
historisés) ou les éléments des systèmes historisés?
2. Tu veux avoir quoi dans ton formulaire?
Tu devrais peut-être expliciter ton pb avec des exemples, en vue de
préciser
*les éléments d'analyse des données
*les fonctionnalités attendues.
pgz


Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait réference
à un élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les
historiquesElements dans un formulaire Systèmes avec sous-formulaire
et que l'on sache ajouter - effacer - corriger les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------




Avatar
pgz
Voici ce que j'ai compris:
Tu as une table qui liste des services facturables. Chaque enregistrement
prévoit un champ qui permet de renvoyer à un autre service qui doit être
facturé avec le premier.
Si c'est bien ça tu peux essayer pour ton formulaire ce qui suit, sinon ...
Pour saisir Ta1-champ1, créer une ComboBox sur la liste des services(
RowSource=ChampID_uniqueT1 et les champs des renseignements liés à
présenter). La source de ce contrôle doit être Ta1-Champ1. Si ce contrôle
s'appelle ChoixServiceAssocié, les informations associées à ce second service
pourront être présentées sur des contrôles indépendants supplémentaires
renseignés sur mise à jour de ChoixServiceAssocié, par exemple
Libellé = ChoixServiceAssocié.Column(2)...
Moi, j'essaierais ça.
Bonne chance.
pgz


Bonjour,

merci d'avoir répondu.

J'ai continué à chercher et il me reste probablement à
résoudre ceci :

dans un système de facturation

soit les différents services à facturer décrits ds
Table1 : champID_uniqueT1
Ta1.champ1- Ta1.champ2 - etc...

Ta1.champ1
renseigne si un autre service doit être facturé en accompagnement. Pr
certains enregistrements c'est oui, pour d'autres non
sourceContrôle : champID_uniqueT1
saisie non obligatoire

Il me semble que c'est la même situation que ds la base "Les comptoirs" où
un employé peut rendre compte à un autre employé.

comment faire pour afficher dans mon formulaire
certains champs en rapport avec Ta1.champ1
et que l'on puisse encore supprimer
la saisie qui a eu lieu dans le champ Ta1.champ1

Si je n'affiche aucun champ dépendant je peux en cas d'erreur supprimer le
contenu déjà encodé et laisser le champ vide mais j'ai alors très peu
d'information.- un peu comme si j'avais un code postal mais pas la
localité -
je peux onfigurer ma combo pour que soit affiché par exemple le nom du
service (et pas un ID) mais je souhaite afficher dans mon formulaire, plus
d'information, par ex aussi le prix de ce service acompagnant

Voilà, j'espère que ça précise et rend plus concret ma demande.
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
J'aimerais bien pouvoir t'aider mais j'ai des difficultés à
comprendre ce que tu veux faire:
1. La table 4 c'est l'historique des éléments de systèmes ( valides ou
historisés) ou les éléments des systèmes historisés?
2. Tu veux avoir quoi dans ton formulaire?
Tu devrais peut-être expliciter ton pb avec des exemples, en vue de
préciser
*les éléments d'analyse des données
*les fonctionnalités attendues.
pgz


Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait réference
à un élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les
historiquesElements dans un formulaire Systèmes avec sous-formulaire
et que l'on sache ajouter - effacer - corriger les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------








Avatar
lectriceNews
Bonsoir,

tu as bien compris

j'ai omis de préciser qu'il s'agit d'un formulaire en continu et donc avec
des contrôles indépendants il attribue la même valeur à tous les
enregistrements affichés. Ce qui est pas bon.

Y zurait-il une autre solution. ?
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
Voici ce que j'ai compris:
Tu as une table qui liste des services facturables. Chaque
enregistrement prévoit un champ qui permet de renvoyer à un autre
service qui doit être facturé avec le premier.
Si c'est bien ça tu peux essayer pour ton formulaire ce qui suit,
sinon ... Pour saisir Ta1-champ1, créer une ComboBox sur la liste des
services( RowSource=ChampID_uniqueT1 et les champs des renseignements
liés à présenter). La source de ce contrôle doit être Ta1-Champ1. Si
ce contrôle s'appelle ChoixServiceAssocié, les informations associées
à ce second service pourront être présentées sur des contrôles
indépendants supplémentaires renseignés sur mise à jour de
ChoixServiceAssocié, par exemple
Libellé = ChoixServiceAssocié.Column(2)...
Moi, j'essaierais ça.
Bonne chance.
pgz


Bonjour,

merci d'avoir répondu.

J'ai continué à chercher et il me reste probablement à
résoudre ceci :

dans un système de facturation

soit les différents services à facturer décrits ds
Table1 : champID_uniqueT1
Ta1.champ1- Ta1.champ2 - etc...

Ta1.champ1
renseigne si un autre service doit être facturé en accompagnement.
Pr certains enregistrements c'est oui, pour d'autres non
sourceContrôle : champID_uniqueT1
saisie non obligatoire

Il me semble que c'est la même situation que ds la base "Les
comptoirs" où un employé peut rendre compte à un autre employé.

comment faire pour afficher dans mon formulaire
certains champs en rapport avec Ta1.champ1
et que l'on puisse encore supprimer
la saisie qui a eu lieu dans le champ Ta1.champ1

Si je n'affiche aucun champ dépendant je peux en cas d'erreur
supprimer le contenu déjà encodé et laisser le champ vide mais j'ai
alors très peu d'information.- un peu comme si j'avais un code
postal mais pas la localité -
je peux onfigurer ma combo pour que soit affiché par exemple le nom
du service (et pas un ID) mais je souhaite afficher dans mon
formulaire, plus d'information, par ex aussi le prix de ce service
acompagnant

Voilà, j'espère que ça précise et rend plus concret ma demande.
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
J'aimerais bien pouvoir t'aider mais j'ai des difficultés à
comprendre ce que tu veux faire:
1. La table 4 c'est l'historique des éléments de systèmes ( valides
ou historisés) ou les éléments des systèmes historisés?
2. Tu veux avoir quoi dans ton formulaire?
Tu devrais peut-être expliciter ton pb avec des exemples, en vue de
préciser
*les éléments d'analyse des données
*les fonctionnalités attendues.
pgz


Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait
réference à un élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les
historiquesElements dans un formulaire Systèmes avec
sous-formulaire et que l'on sache ajouter - effacer - corriger
les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------








Avatar
pgz
Oui, c'est bien normal. Mais il y a un moyen très simple :
etape1: modifier la source du formulaire :
Tu entres dans le menu de définition de la source qui ressemble à création
de requête et tu installe deux fois la table1. Tu Obtiens Table1 et Table1_1.
Tu crées un lien entre [Table1].Ta1_champ1 et [Table1_1].champID_uniqueT1. Et
tu mets dans les colonnes les * des 2 tables.
étape2: modifier les contrôles.
Les contrôles qui étaient liés à champID_uniqueT1 doivent être mis à jour.
Par ex si tu avais un contrôle 'libellé' sa source devient [Table1].Libellé,
présent dans le menu déroulant de la fenêtre de propriétés.
Les contrôles indépendant du service complémentaires doivent être
transformés en dépendants ayant pour source, par ex pour 'libellé' :
[Table1_1].Libellé, toujours présent dans menu déroulant 'source' de la
fen^tre des propriétés.
Et ça devrait marcher...
Simple, non?
pgz


Bonsoir,

tu as bien compris

j'ai omis de préciser qu'il s'agit d'un formulaire en continu et donc avec
des contrôles indépendants il attribue la même valeur à tous les
enregistrements affichés. Ce qui est pas bon.

Y zurait-il une autre solution. ?
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
Voici ce que j'ai compris:
Tu as une table qui liste des services facturables. Chaque
enregistrement prévoit un champ qui permet de renvoyer à un autre
service qui doit être facturé avec le premier.
Si c'est bien ça tu peux essayer pour ton formulaire ce qui suit,
sinon ... Pour saisir Ta1-champ1, créer une ComboBox sur la liste des
services( RowSource=ChampID_uniqueT1 et les champs des renseignements
liés à présenter). La source de ce contrôle doit être Ta1-Champ1. Si
ce contrôle s'appelle ChoixServiceAssocié, les informations associées
à ce second service pourront être présentées sur des contrôles
indépendants supplémentaires renseignés sur mise à jour de
ChoixServiceAssocié, par exemple
Libellé = ChoixServiceAssocié.Column(2)...
Moi, j'essaierais ça.
Bonne chance.
pgz


Bonjour,

merci d'avoir répondu.

J'ai continué à chercher et il me reste probablement à
résoudre ceci :

dans un système de facturation

soit les différents services à facturer décrits ds
Table1 : champID_uniqueT1
Ta1.champ1- Ta1.champ2 - etc...

Ta1.champ1
renseigne si un autre service doit être facturé en accompagnement.
Pr certains enregistrements c'est oui, pour d'autres non
sourceContrôle : champID_uniqueT1
saisie non obligatoire

Il me semble que c'est la même situation que ds la base "Les
comptoirs" où un employé peut rendre compte à un autre employé.

comment faire pour afficher dans mon formulaire
certains champs en rapport avec Ta1.champ1
et que l'on puisse encore supprimer
la saisie qui a eu lieu dans le champ Ta1.champ1

Si je n'affiche aucun champ dépendant je peux en cas d'erreur
supprimer le contenu déjà encodé et laisser le champ vide mais j'ai
alors très peu d'information.- un peu comme si j'avais un code
postal mais pas la localité -
je peux onfigurer ma combo pour que soit affiché par exemple le nom
du service (et pas un ID) mais je souhaite afficher dans mon
formulaire, plus d'information, par ex aussi le prix de ce service
acompagnant

Voilà, j'espère que ça précise et rend plus concret ma demande.
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
J'aimerais bien pouvoir t'aider mais j'ai des difficultés à
comprendre ce que tu veux faire:
1. La table 4 c'est l'historique des éléments de systèmes ( valides
ou historisés) ou les éléments des systèmes historisés?
2. Tu veux avoir quoi dans ton formulaire?
Tu devrais peut-être expliciter ton pb avec des exemples, en vue de
préciser
*les éléments d'analyse des données
*les fonctionnalités attendues.
pgz


Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait
réference à un élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les
historiquesElements dans un formulaire Systèmes avec
sous-formulaire et que l'on sache ajouter - effacer - corriger
les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------












Avatar
lectriceNews
Bonsoir,

merci de la réponse structurée par étapes.

J'avais déjà fait cela et c'est OK.

Mon problème qui était de préserver les possibilités de "corrections" ne
venait pas de là. - J'avais mal analysé les causes possibles. - Il était
lié à la structuration d'une partie de mes requêtes.

Le problème est résolu maintenant.

-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
Oui, c'est bien normal. Mais il y a un moyen très simple :
etape1: modifier la source du formulaire :
Tu entres dans le menu de définition de la source qui ressemble à
création de requête et tu installe deux fois la table1. Tu Obtiens
Table1 et Table1_1. Tu crées un lien entre [Table1].Ta1_champ1 et
[Table1_1].champID_uniqueT1. Et tu mets dans les colonnes les * des 2
tables.
étape2: modifier les contrôles.
Les contrôles qui étaient liés à champID_uniqueT1 doivent être mis à
jour. Par ex si tu avais un contrôle 'libellé' sa source devient
[Table1].Libellé, présent dans le menu déroulant de la fenêtre de
propriétés.
Les contrôles indépendant du service complémentaires doivent être
transformés en dépendants ayant pour source, par ex pour 'libellé' :
[Table1_1].Libellé, toujours présent dans menu déroulant 'source' de
la fen^tre des propriétés.
Et ça devrait marcher...
Simple, non?
pgz


Bonsoir,

tu as bien compris

j'ai omis de préciser qu'il s'agit d'un formulaire en continu et
donc avec des contrôles indépendants il attribue la même valeur à
tous les enregistrements affichés. Ce qui est pas bon.

Y zurait-il une autre solution. ?
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
Voici ce que j'ai compris:
Tu as une table qui liste des services facturables. Chaque
enregistrement prévoit un champ qui permet de renvoyer à un autre
service qui doit être facturé avec le premier.
Si c'est bien ça tu peux essayer pour ton formulaire ce qui suit,
sinon ... Pour saisir Ta1-champ1, créer une ComboBox sur la liste
des services( RowSource=ChampID_uniqueT1 et les champs des
renseignements liés à présenter). La source de ce contrôle doit
être Ta1-Champ1. Si ce contrôle s'appelle ChoixServiceAssocié, les
informations associées à ce second service pourront être présentées
sur des contrôles indépendants supplémentaires renseignés sur mise
à jour de ChoixServiceAssocié, par exemple
Libellé = ChoixServiceAssocié.Column(2)...
Moi, j'essaierais ça.
Bonne chance.
pgz


Bonjour,

merci d'avoir répondu.

J'ai continué à chercher et il me reste probablement à
résoudre ceci :

dans un système de facturation

soit les différents services à facturer décrits ds
Table1 : champID_uniqueT1
Ta1.champ1- Ta1.champ2 - etc...

Ta1.champ1
renseigne si un autre service doit être facturé en accompagnement.
Pr certains enregistrements c'est oui, pour d'autres non
sourceContrôle : champID_uniqueT1
saisie non obligatoire

Il me semble que c'est la même situation que ds la base "Les
comptoirs" où un employé peut rendre compte à un autre employé.

comment faire pour afficher dans mon formulaire
certains champs en rapport avec Ta1.champ1
et que l'on puisse encore supprimer
la saisie qui a eu lieu dans le champ Ta1.champ1

Si je n'affiche aucun champ dépendant je peux en cas d'erreur
supprimer le contenu déjà encodé et laisser le champ vide mais j'ai
alors très peu d'information.- un peu comme si j'avais un code
postal mais pas la localité -
je peux onfigurer ma combo pour que soit affiché par exemple le nom
du service (et pas un ID) mais je souhaite afficher dans mon
formulaire, plus d'information, par ex aussi le prix de ce service
acompagnant

Voilà, j'espère que ça précise et rend plus concret ma demande.
--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------

pgz wrote:
J'aimerais bien pouvoir t'aider mais j'ai des difficultés à
comprendre ce que tu veux faire:
1. La table 4 c'est l'historique des éléments de systèmes (
valides ou historisés) ou les éléments des systèmes historisés?
2. Tu veux avoir quoi dans ton formulaire?
Tu devrais peut-être expliciter ton pb avec des exemples, en vue
de préciser
*les éléments d'analyse des données
*les fonctionnalités attendues.
pgz


Bonjour,

je m'y perds. merci d'avance pour votre aide.

voici ma structure : j'ai 4 tables

T1 : systèmes -
avec les champs : ID_syst - NomSyst - paramètreVariable

T2 : historiqueSystèmes -
avec les champs : ID_HistSyst - ID_syst -
dateMaj - valeurParamètre -

T3 : élémentsSystèmes -
avec les champs : ID_Elemt - ID_Syst -
autres champs

T4 : historiqueElementsSystèmes -
avec les champs : ID_HistElemt -ID_Elemt -
ID_HistSyst (pour retrouver la valeur du paramètreVariable) -
autres champs parmi lesquels : élementComplementaire fait
réference à un élement de la même table T4

Je n'arrive pas à construire ma requête pour encoder les
historiquesElements dans un formulaire Systèmes avec
sous-formulaire et que l'on sache ajouter - effacer - corriger
les enregistrements


--
-------------------------
LectriceNews
A tous merci. Que d'infos, ce sont de vrais trésors
------------------------