OVH Cloud OVH Cloud

1 FORMULAIRE & 2 TABLES d'un coup.

7 réponses
Avatar
Bataille Jean-Paul
Bonjour,


Je désire à partir d'un seul formulaire saisir dans deux tables différentes
des données différentes, comment faire ?

Ex : J'ai une table A et une table B indépendantes avec pour chacune un
champ de saisies : Champ_A et Champ_B
Sur mon formulaire je veux que ces deux champs
soient"géographiquement" proches l'un de l 'autre
mais que les valeurs qui y sont saisies retournent pour une part
Table_A et d'autre part à Table_B.


Remerciements anticipés.
Jean-Paul B.

7 réponses

Avatar
Raymond [mvp]
Bonjour Jean-Paul.

Sur un seul formulaire ce sera difficle mais tu peux tricher un peu.
tu crées un formulaire principal qui n'est subordonné à aucune table ou
requête. tu places deux sous-formulaires indépendants l'un de l'autre et
également du formulaire principal. pas de champ père/fils. chaque
sous-formulaire est basé sur une requête ou table différente. tu places tes
deux champs A et B de chaque côté de la séparation du milieu pour qu'il
soint côte à côte.
c'est une idée seulement.
mais pourquoi donc ça ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Bataille Jean-Paul" a écrit dans le message de
news:3fbf44ee$0$28615$
Bonjour,


Je désire à partir d'un seul formulaire saisir dans deux tables
différentes

des données différentes, comment faire ?

Ex : J'ai une table A et une table B indépendantes avec pour chacune un
champ de saisies : Champ_A et Champ_B
Sur mon formulaire je veux que ces deux champs
soient"géographiquement" proches l'un de l 'autre
mais que les valeurs qui y sont saisies retournent pour une part
Table_A et d'autre part à Table_B.


Remerciements anticipés.
Jean-Paul B.




Avatar
mumu
bonjour si j'ai bien compris

Le champ A doit aller dans la Table A
et le champ B dans la table B

Sur l'evenement que tu veux (un bouton enregistrer par exemple)

tu ouvre la table A dans un recordset
tu recherche l'enregistrement qui t'interresse si c'est une mise a jour
(avec une requette ou une boucle en fonction de la longeur)
ou rst.addnew si c'est un nouveau enregistrement a la place de rst.edit
rst.edit ensuite pour pouvoir le mettre a jour
TableA!ChampA=Formulaire!ChampA
rst.update

a ce stade ton champ A est dans la table A
tu fais pareil pour le champ B

esperand t'avoir aidé

mumu



"Bataille Jean-Paul" a écrit dans le message de
news:3fbf44ee$0$28615$
Bonjour,


Je désire à partir d'un seul formulaire saisir dans deux tables
différentes

des données différentes, comment faire ?

Ex : J'ai une table A et une table B indépendantes avec pour chacune un
champ de saisies : Champ_A et Champ_B
Sur mon formulaire je veux que ces deux champs
soient"géographiquement" proches l'un de l 'autre
mais que les valeurs qui y sont saisies retournent pour une part
Table_A et d'autre part à Table_B.


Remerciements anticipés.
Jean-Paul B.




Avatar
mumu
J'ai oublier

tes champs doivent etre independents donc rien dans la propriété source des
champs et du formulaire.

"mumu" a écrit dans le message de
news:
bonjour si j'ai bien compris

Le champ A doit aller dans la Table A
et le champ B dans la table B

Sur l'evenement que tu veux (un bouton enregistrer par exemple)

tu ouvre la table A dans un recordset
tu recherche l'enregistrement qui t'interresse si c'est une mise a jour
(avec une requette ou une boucle en fonction de la longeur)
ou rst.addnew si c'est un nouveau enregistrement a la place de rst.edit
rst.edit ensuite pour pouvoir le mettre a jour
TableA!ChampA=Formulaire!ChampA
rst.update

a ce stade ton champ A est dans la table A
tu fais pareil pour le champ B

esperand t'avoir aidé

mumu



"Bataille Jean-Paul" a écrit dans le message
de

news:3fbf44ee$0$28615$
Bonjour,


Je désire à partir d'un seul formulaire saisir dans deux tables
différentes

des données différentes, comment faire ?

Ex : J'ai une table A et une table B indépendantes avec pour chacune un
champ de saisies : Champ_A et Champ_B
Sur mon formulaire je veux que ces deux champs
soient"géographiquement" proches l'un de l 'autre
mais que les valeurs qui y sont saisies retournent pour une
part


Table_A et d'autre part à Table_B.


Remerciements anticipés.
Jean-Paul B.








Avatar
Bataille Jean-Paul
Pourquoi donc ça ?

Je veux enregistrer des courriers -table_A- et leur affecter un numéro
chrono table_B .
Cette m$ême table_B sert aussi pour l'enregistrement d'autre document -CR de
réunion, NdS,.....

Peut étre as tu une autre solutionà me proposer ?

Merci pour ton aide, Maurice.Et 1000 excuses pour l'erreur d'adressage.

Jean-Paul B.



"Raymond [mvp]" a écrit dans le message de
news:%
Bonjour Jean-Paul.

Sur un seul formulaire ce sera difficle mais tu peux tricher un peu.
tu crées un formulaire principal qui n'est subordonné à aucune table ou
requête. tu places deux sous-formulaires indépendants l'un de l'autre et
également du formulaire principal. pas de champ père/fils. chaque
sous-formulaire est basé sur une requête ou table différente. tu places
tes

deux champs A et B de chaque côté de la séparation du milieu pour qu'il
soint côte à côte.
c'est une idée seulement.
mais pourquoi donc ça ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Bataille Jean-Paul" a écrit dans le message
de

news:3fbf44ee$0$28615$
Bonjour,


Je désire à partir d'un seul formulaire saisir dans deux tables
différentes

des données différentes, comment faire ?

Ex : J'ai une table A et une table B indépendantes avec pour chacune un
champ de saisies : Champ_A et Champ_B
Sur mon formulaire je veux que ces deux champs
soient"géographiquement" proches l'un de l 'autre
mais que les valeurs qui y sont saisies retournent pour une
part


Table_A et d'autre part à Table_B.


Remerciements anticipés.
Jean-Paul B.








Avatar
Raymond [mvp]
Bonjour.

Donc tes deux tables sont en relation par le numéro de chrono.
il faut d'abord savoir comment est constitué ton chrono: numéro simple ,
numéro incluant la date, numéro incluant le code document la date et le
chrono, ou le code document et le chrono. il est important car selon la
structure l'affichage de la liste du chrono sera différente. dans tous les
cas DMax +1 sera utilisé pour ramener le prochain numéro avec une clause
where contenant le début de la structure du numéro.
à suivre....
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Bataille Jean-Paul" a écrit dans le message de
news:3fc07342$0$28613$
Pourquoi donc ça ?

Je veux enregistrer des courriers -table_A- et leur affecter un numéro
chrono table_B .
Cette m$ême table_B sert aussi pour l'enregistrement d'autre document -CR
de

réunion, NdS,.....

Peut étre as tu une autre solutionà me proposer ?

Merci pour ton aide, Maurice.Et 1000 excuses pour l'erreur d'adressage.

Jean-Paul B.


Avatar
Bataille Jean-Paul
Les n° chrono sont d ela forme SSS-aa-nnnn
où SSS est un trigramme concernat le service créateur du document, aa les
deux LSD de l'année en ce moment 03,
et nnnn un numéro chronologique débutant à 0001 pour le premier document de
l'année civile en cours, et incrémenté à chaque nouvel enregistrement.

Chaque service ayant a priori une table dédiée : T_chrono_AAA pour le
service AAA, T_chrono_BBB pour le service BBB,
je place le trigramme dans un champ indépendant, en reprenant le trigramme
par le nom de la table. L'année est extraite par la fonction year().
Chaque table chrono ayant une clé numauto c'est sur celle ci que je
référence mes documents.

Merci pour ton aide Raymod,

Jean-Paul B.





"Raymond [mvp]" a écrit dans le message de
news:%
Bonjour.

Donc tes deux tables sont en relation par le numéro de chrono.
il faut d'abord savoir comment est constitué ton chrono: numéro simple ,
numéro incluant la date, numéro incluant le code document la date et le
chrono, ou le code document et le chrono. il est important car selon la
structure l'affichage de la liste du chrono sera différente. dans tous les
cas DMax +1 sera utilisé pour ramener le prochain numéro avec une clause
where contenant le début de la structure du numéro.
à suivre....
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Bataille Jean-Paul" a écrit dans le message
de

news:3fc07342$0$28613$
Pourquoi donc ça ?

Je veux enregistrer des courriers -table_A- et leur affecter un numéro
chrono table_B .
Cette m$ême table_B sert aussi pour l'enregistrement d'autre
document -CR


de
réunion, NdS,.....

Peut étre as tu une autre solutionà me proposer ?

Merci pour ton aide, Maurice.Et 1000 excuses pour l'erreur d'adressage.

Jean-Paul B.






Avatar
Raymond [mvp]
RE.

ayant une table pour chaque trigramme ton problème se simplifie.
toutes tes données chrono de ta table documents ont la même structure.
Lorsqu'il faut aller chercher le dernier numéro de chrono, tu utilises un
dmax comme ceci:
Me.nochrono = DMax("champchrono", "tabledocuments", "[champchrono] like '" &
me.trigramme & "-" & year(Date) & "-" & "'")
prochain_no = me.trigramme & "-" & year(Date) & "-" & Format(Mid(Me.nochrono
, 8, 4) + 1, "0000")
lorsque tu as enregistré ton document tu fais un requery de ta liste pour la
mettre à jour.
je crois n'avoir rien oublié.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Bataille Jean-Paul" a écrit dans le message de
news:3fc0cfe0$0$26806$
Les n° chrono sont d ela forme SSS-aa-nnnn
où SSS est un trigramme concernat le service créateur du document, aa les
deux LSD de l'année en ce moment 03,
et nnnn un numéro chronologique débutant à 0001 pour le premier document
de

l'année civile en cours, et incrémenté à chaque nouvel enregistrement.

Chaque service ayant a priori une table dédiée : T_chrono_AAA pour le
service AAA, T_chrono_BBB pour le service BBB,
je place le trigramme dans un champ indépendant, en reprenant le
trigramme

par le nom de la table. L'année est extraite par la fonction year().
Chaque table chrono ayant une clé numauto c'est sur celle ci que je
référence mes documents.

Merci pour ton aide Raymod,

Jean-Paul B.