OVH Cloud OVH Cloud

Modifier un formulaire sans modifier la table source

15 réponses
Avatar
elite
Bonjour,

Je travaille sous Access 97. Je voudrais modifier un formulaire mais
sans modifier la table source, et m=EAme stocker mes modifications dans
une autre table. Est ce possible ?

10 réponses

1 2
Avatar
Gafish
elite wrote:
Bonjour,


Bonjour

Je travaille sous Access 97. Je voudrais modifier un formulaire mais
sans modifier la table source, et même stocker mes modifications dans
une autre table. Est ce possible ?


Les formulaires et les table sont deux objets indépendants. Donc tu peux
faire des modifications sur l'un indépendamment de l'autre, simplement bien
sûr il peut y avoir des impacts.
La réponse en tout cas à ta question est oui, simplement pour te donner plus
de détails, il faudra que tu nous en donnes également, déja savoir ce que tu
veux faire exactement.

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
elite
Merci de me répondre si rapidement.
J'ai une table T_Chantiers. Les chantiers appartiennent à des familles
de chantiers : il y a une relation de un à plusieurs entre T_Chantiers
et T_TypeChantiers. J'associe des risques aux types de chantier. Ces
risques ont des impacts sur le type de chantier.(Relation de plusieurs
à plusieurs entre T_TypeChantier et T_Impacts, j'ai une table
intermédiaire). Donc quand je suis dans mon formulaire Chantiers, je
précise à quel type de chantier il appartient, et tous les risques
s'affichent avec leurs impacts. Je voudrais en fait pouvoir modifier
ces risques, en supprimer quelques uns, si je juge qu'il est inutile
dans mon exemple, modifier l'impact, mais sans que la table source
change...Jespere que c est clair...

En fait mon boss vient de me suggérer autre chose : a chaque fois que
je précise a quel type de chantier appartient mon chantier, j'ai une
nouvelle ligne qui apparait automatiquement dans une nouvelle table qui
contient les champs : chantier, type de chantier, risques, impacts; et
qui est indépendante des premieres. c'est possible

J espere que j ai été claire. Merci d avance
Avatar
Gafish
elite wrote:
Merci de me répondre si rapidement.
J'ai une table T_Chantiers. Les chantiers appartiennent à des familles
de chantiers : il y a une relation de un à plusieurs entre T_Chantiers
et T_TypeChantiers. J'associe des risques aux types de chantier. Ces
risques ont des impacts sur le type de chantier.(Relation de plusieurs
à plusieurs entre T_TypeChantier et T_Impacts, j'ai une table
intermédiaire). Donc quand je suis dans mon formulaire Chantiers, je
précise à quel type de chantier il appartient, et tous les risques
s'affichent avec leurs impacts. Je voudrais en fait pouvoir modifier
ces risques, en supprimer quelques uns, si je juge qu'il est inutile
dans mon exemple, modifier l'impact, mais sans que la table source
change...Jespere que c est clair...

En fait mon boss vient de me suggérer autre chose : a chaque fois que
je précise a quel type de chantier appartient mon chantier, j'ai une
nouvelle ligne qui apparait automatiquement dans une nouvelle table
qui contient les champs : chantier, type de chantier, risques,
impacts; et qui est indépendante des premieres. c'est possible

J espere que j ai été claire. Merci d avance


A ta place, je créerai effectivement une table, qu'on pourrait appeler
infoChantier par exemple, avec une relation de un à plusieurs avec
T_Chantiers. Cette table comprendrait NumChantier, TypeChantier, NumRisque
Au niveau de la saisie, je ferai comme suit :
- un formulaire chantier (qui doit j'imagine déja exister)
- un sous formulaire qui te permettrait de remplir la nouvelle table décrite
ci-dessus avec une relation parent-enfant au niveau du NumChantier. Dans ce
sous formulaire, une liste des TypeChantier, et une liste des Risques qui
sera liée à la liste TypeChantier (un choix d'un type de chantier restreint
la liste des risques à ceux associés à ce type). Tu saisie ainsi autant de
lignes dans ton sous form que tu veux de risques.
J'espere que c'est clair, et c'est sous reserve d'avoir bien compris ton
problème

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
elite
J précise juste quelque chose au sujet de la fin de mon message :
c'est possible ? était une question (j'ai oublié le ?)
Avatar
elite
Ca me semble clair, merci beaucoup, je vais essayer.
Juste une question : dans ma table infoChantier, je dois saiir toute
les correspondances entre le type de chantier et les risques (même
quand je n'ai pas le Num chantier) pour construire le sous formulaire
c'est bien ça ?
Si la réponse est oui, je veux juste te préciser qu'une table de
correspondance entre TypeChantier et Risques existe déjà, je la
supprime ?
Avatar
elite
J'ai essayé ce que tu m'as dit
le problème, c'est que je ne veux pas avoir a ressaisir le Numchantier
à chaque fois dans le sous formulaire. Je veux juste que dès que je
précise à quel type de chantier il appartient, alors j'ai tous les
risques qui apparaissent. En mettant une relation parent enfant avec
NumChantier, je ne peux pas. Comment je pourrais faire ?
Avatar
Gafish
elite wrote:
J'ai essayé ce que tu m'as dit
le problème, c'est que je ne veux pas avoir a ressaisir le Numchantier
à chaque fois dans le sous formulaire. Je veux juste que dès que je
précise à quel type de chantier il appartient, alors j'ai tous les
risques qui apparaissent. En mettant une relation parent enfant avec
NumChantier, je ne peux pas. Comment je pourrais faire ?


Si tu fais bien ta relation parent-enfant tu n'auras pas à ressaisir le
NumChantier.
Tu as combien de risques par type de chantier ?

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
steph
En fait je fais une relation parent enfant sur NumChantier. Quand je
suis dans le formulaire chantier, j'ai un sous formulaire
InfosChantiers. Mais il faudrait aussi que je mette en relation ces
deux formulaires au niveau du TypeChantier ? : en gros, je dois dire au
sous formulaire "a chaque fois que tu vois dans le formulaire principal
un numéro de chantier associé au type de chantier, tu met ce numéro
dans la ligne ou il y a le meme type de chantier"
Comment je fais ?
Avatar
steph
PS 1 : j ai changé de pseudo
PS 2 : 1000 risques/type chantier
Avatar
Gafish
steph wrote:
En fait je fais une relation parent enfant sur NumChantier. Quand je
suis dans le formulaire chantier, j'ai un sous formulaire
InfosChantiers. Mais il faudrait aussi que je mette en relation ces
deux formulaires au niveau du TypeChantier ? : en gros, je dois dire
au sous formulaire "a chaque fois que tu vois dans le formulaire
principal un numéro de chantier associé au type de chantier, tu met
ce numéro dans la ligne ou il y a le meme type de chantier"
Comment je fais ?


SI tu as 1000 risques effectivement, tu ne peux pas les remettre tous à la
main.
J'avais résolu un problème similaire une fois par ce code.
A mettre dans ton formulaire chantier.
Tu te crées une requete ajout que tu appeleras "Ajout risque" (ou autre bien
sur) qui va ajouter dans ta nouvelles tables tous les risques.
En fait ce code va vérifier si le numéro chantier existe dans la ta nouvelle
table (ici appelé infochantier) et s'il n'exsite pas il lance la requête
ajout.
A adapter à ton cas bien sur.
Tu affiches ta nouvelle table dans ton sous form, et tu as ainsi tous tes
risques, si tu veux en supprimer un tu peux.

Private Sub Form_AfterInsert()
If Not IsNull(Me.Id) Then
Dim rstCompte As Recordset
Set rstCompte = CurrentDb.OpenRecordset("SELECT * FROM
[infoChantier] WHERE [NumChantier]=" & Me.Id)
If rstCompte.RecordCount > 0 Then
Else
Dim reqPiece As QueryDef
Set reqPiece = CurrentDb.QueryDefs("Ajout risque")
reqPiece.Parameters("Forms![Chantier]![Id]") = Me.Id
reqPiece.Execute
Set reqPiece = Nothing
End If
Set rstCompte = Nothing
End If
End Sub


Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

1 2