OVH Cloud OVH Cloud

rectification enregistrer/modifier

2 réponses
Avatar
Nadine
Pour r=E9pondre =E0 "3stone", d'abord merci d'avoir tent=E9 de=20
me r=E9pondre.
Voici plus en d=E9tails mon application.
J'ai plusieurs table pour g=E9rer des stagiaires.
La premi=E8re, la table stagiaires, j'y encode toutes les=20
donn=E9es du stagiaire, ensuite gr=E2ce aux relations j'ai=20
une table affectation, rapport de stage, entrevue,=20
intervnetion etc...
Dans les formulaires j'ai mis chaque fois un bouton=20
enregistrer, pour enregistrer le stagiaire, l'affectation=20
etc.. Et un bouton modifier au cas ou une erreur=20
d'encodage se serais produite et pour permettre de=20
modifier l'enregistrement ult=E9rieurement.Pour cela j'ai=20
utilis=E9 Monrecord.Edit, mais j'ai contat=E9 que si je fais=20
une modification et que si je me trompe, et je clic sur=20
enregistrer surtout dans les affectations, cela ajoute un=20
enregistrement dans la table affection avec le num de=20
stagiaire mais un autre num=E9ro d'affectation. Comme si le=20
stagiaire avait 2 affectations. Ce qui est une erreur.

J'esp=E8re avoir =E9t=E9 un peu plus claire, je n'ai de test=20
pourles modifications, c'est par l'interm=E9diaire d'un=20
bouton chercher, que l'on va chercher l'enregistrement=20
existant pour le modifier.

Nadine

2 réponses

Avatar
3stone
Salut,

Pour répondre à "3stone"...


ben, pour répondre, il faut rester dans le fil...

Ici, maintenant, tu as commencé une nouvelle conversation
et j'ai dû rechercher de quoi tu parlais ;-(



Voici plus en détails mon application.
J'ai plusieurs table pour gérer des stagiaires.
La première, la table stagiaires, j'y encode toutes les
données du stagiaire, ensuite grâce aux relations j'ai
une table affectation, rapport de stage, entrevue,
intervnetion etc...
Dans les formulaires j'ai mis chaque fois un bouton
enregistrer, pour enregistrer le stagiaire, l'affectation
etc.. Et un bouton modifier au cas ou une erreur
d'encodage se serais produite et pour permettre de
modifier l'enregistrement ultérieurement.Pour cela j'ai
utilisé Monrecord.Edit, mais j'ai contaté que si je fais
une modification et que si je me trompe, et je clic sur
enregistrer surtout dans les affectations, cela ajoute un
enregistrement dans la table affection avec le num de
stagiaire mais un autre numéro d'affectation. Comme si le
stagiaire avait 2 affectations. Ce qui est une erreur.


Je ne comprend pas ta manière de faire...
Tu dis, être dans un formulaire... avec des boutons...
J'imagine aussi que tes formulaires ne sont pas indépendants!

Dans ce cas de figure, il me semble que l'on ne fait rien d'autre
que de travailler avec un formulaire "verrouillé".
- Avec le bouton "Modifier", on déverrouille pour permettre la modif.
- Un bouton "Sauver", sauve et reverrouille...
- alors que le bouton "Nouveau" déverrouille et va sur un nouvel enregistrement.

Dans ces conditions, je ne vois pas pourquoi tu utilise 'monrecord.Edit' ?
Et même si tu "tripote" directement le recordset, cela n'ajoute pas un
enregistrement... puisque dans ce cas, tu édite Monrecord!LeChamp

Il me semble que tu utilise mal la méthode, mais...

Il faudrait donner tout le code de ton bouton "modifier"... pour comprendre!
Et savoir si les formulaires sont indépendant ou non !


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Nadine
Bon je reste dans le FIL.....

Je te fais parvenir mon code ainsi tu comprendra mieux.
Mes formulaires sont indépendents et je travaille en VBa.

Option Compare Database
Option Explicit
Dim Mbase As Database
Dim RS As Recordset
Private Sub Bfermerform_Click()
DoCmd.Close

End Sub

Private Sub Bchercher_Click()
Set Mbase = CurrentDb()
Set RS = Mbase.OpenRecordset("T_affectation", dbOpenTable)
RS.Index = "Numstagiaireindex"
RS.Seek "=", Me!Numstagiairei
If RS.NoMatch = False Then
Me!Numaffectationi = RS![Num_affectation]
Me!Affectationi = RS![Affectation]
Me!Réaffectationi = RS![Réaffectation]
Me!Adressei = RS![Adresse]
Me!CodePostali = RS![Code_Postal]
Me!Villei = RS![Ville]
Me!Mantori = RS![Mantor]
Me!Telmantori = RS![Tel_mantor]
Me!GSMmantori = RS![GSM_mantor]
Me!Mailmantori = RS![Mail_mantor]
Me!Chefdirecti = RS![Chef]
Me!Adressechefi = RS![Adresse_chef]
Me!CodePostalchefi = RS![Code_postal_chefserv]
Me!Villechefi = RS![Ville_chef]
Me!Telchefi = RS![Tel_chef]
Me!GSMchefi = RS![GSM_chef]
Me!Mailchefi = RS![Mail_chef]
Me!Adressechefservi = RS![Adresse]
Me!Codepostalchefservi = RS![Code_postal_chefserv]
Me!Villechefservi = RS![Ville_chefserv]
Me!Chefservicei = RS![Chef_service]
Me!Telchefservi = RS![Tel_chef_serv]
Me!GSMchefservi = RS![GSM_chef_serv]
Me!Mailchefservi = RS![Mail_chef_serv]
Me!Directeurformationi = RS![Directeur_formation]
Me!Teldirecteurformi = RS![Tel_directeur_form]
Me!GSMdirecteurformi = RS![GSM_directeur_form]
Me!Maildirecteurformi = RS![Mail_directeur_form]

Else
MsgBox (" Il n'y a pas d'affectation enregistré pour ce
stagiaire")
End If
End Sub

Private Sub Beffacer_Click()
Me!Numstagiairei = " "
Me!Numaffectationi = " "
Me!Réaffectationi = " "
Me!Affectationi = " "
Me!Adressei = " "
Me!CodePostali = " "
Me!Villei = " "
Me!Mantori = " "
Me!Telmantori = " "
Me!GSMmantori = " "
Me!Mailmantori = " "
Me!Chefdirecti = " "
Me!Telchefi = " "
Me!GSMchefi = " "
Me!Mailchefi = " "
Me!Adressechefi = " "
Me!CodePostalchefi = " "
Me!Villechefi = " "
Me!Chefservicei = " "
Me!Telchefservi = " "
Me!GSMchefservi = " "
Me!Mailchefservi = " "
Me!Adressechefservi = " "
Me!Codepostalchefservi = " "
Me!Villechefservi = " "
Me!Directeurformationi = " "
Me!Teldirecteurformi = " "
Me!GSMdirecteurformi = " "
Me!Maildirecteurformi = " "

End Sub


Private Sub Benregistrer_Click()

Set Mbase = CurrentDb()
Set RS = Mbase.OpenRecordset("T_affectation", dbOpenTable)


RS.AddNew
RS![Num_stagiaire] = Me!Numstagiairei
RS![Affectation] = Me!Affectationi
RS![Réaffectation] = Me!Réaffectationi
RS![Adresse] = Me!Adressechefservi
RS![Code_Postal] = Me!CodePostali
RS![Ville] = Me!Villei
RS![Mantor] = Me!Mantori
RS![Tel_mantor] = Me!Telmantori
RS![GSM_mantor] = Me!GSMmantori
RS![Mail_mantor] = Me!Mailmantori
RS![Chef] = Me!Chefdirecti
RS![Adresse_chef] = Me!Adressechefi
RS![Ville_chef] = Me!Villechefi
RS![Code_Postal_chef] = Me!CodePostalchefi
RS![Tel_chef] = Me!Telchefi
RS![GSM_chef] = Me!GSMchefi
RS![Mail_chef] = Me!Mailchefi
RS![Chef_service] = Me!Chefservicei
RS![Adresse_chef_serv] = Me!Adressechefi
RS![Ville_chefserv] = Me!Villechefservi
RS![Code_postal_chefserv] = Me!Codepostalchefservi
RS![Tel_chef_serv] = Me!Telchefservi
RS![GSM_chef_serv] = Me!GSMchefservi
RS![Mail_chef_serv] = Me!Mailchefservi
RS![Directeur_formation] = Me!Directeurformationi
RS![Tel_directeur_form] = Me!Teldirecteurformi
RS![GSM_directeur_form] = Me!GSMdirecteurformi
RS![Mail_directeur_form] = Me!Maildirecteurformi
Me!Numaffectationi = RS![Num_affectation]
RS.Update


MsgBox ("Affectation enregistrée !")
End Sub

Private Sub Bfermer_Click()
DoCmd.Close

End Sub

Private Sub Bmodifier_Click()
Set Mbase = CurrentDb()
Set RS = Mbase.OpenRecordset("T_affectation", dbOpenTable)
RS.Edit
RS![Num_stagiaire] = Me!Numstagiairei
RS![Affectation] = Me!Affectationi
RS![Réaffectation] = Me!Réaffectationi
RS![Adresse] = Me!Adressei
RS![Code_Postal] = Me!CodePostali
RS![Ville] = Me!Villei
RS![Mantor] = Me!Mantori
RS![Tel_mantor] = Me!Telmantori
RS![GSM_mantor] = Me!GSMmantori
RS![Mail_mantor] = Me!Mailmantori
RS![Chef] = Me!Chefdirecti
RS![Adresse_chef] = Me!Adressechefi
RS![Ville_chef] = Me!Villechefi
RS![Code_Postal_chef] = Me!CodePostalchefi
RS![Tel_chef] = Me!Telchefi
RS![GSM_chef] = Me!GSMchefi
RS![Mail_chef] = Me!Mailchefi
RS![Chef_service] = Me!Chefservicei
RS![Adresse_chef_serv] = Me!Adressechefservi
RS![Ville_chefserv] = Me!Villechefservi
RS![Code_postal_chefserv] = Me!Codepostalchefservi
RS![Tel_chef_serv] = Me!Telchefservi
RS![GSM_chef_serv] = Me!GSMchefservi
RS![Mail_chef_serv] = Me!Mailchefservi
RS![Directeur_formation] = Me!Directeurformationi
RS![Tel_directeur_form] = Me!Teldirecteurformi
RS![GSM_directeur_form] = Me!GSMdirecteurformi
RS![Mail_directeur_form] = Me!Maildirecteurformi
Me!Numaffectationi = RS![Num_affectation]
RS.Update

MsgBox (" Modification enregistrée !")
End Sub

Private Sub Form_Load()
Me!Numstagiairei = Forms!F_stagiaires!Numstagi
Me!Nomi = Forms!F_stagiaires!Nomi
Me!Prénomi = Forms!F_stagiaires!Prénomi
End Sub

Private Sub Réaffectationi_Click()
If Réaffectationi = True Then
Me!Numaffectationi = " "
Me!Affectationi = " "
Me!Réaffectationi = " "
Me!Affectationi = " "
Me!Adressei = " "
Me!Codposti = " "
Me!Villei = " "
Me!Mantori = " "
Me!Telmantori = " "
Me!GSMmantori = " "
Me!Mailmantori = " "
Me!Chefdirecti = " "
Me!Telchefi = " "
Me!GSMchefi = " "
Me!Mailchefi = " "
Me!Adressechefi = " "
Me!CodePostalchefi = " "
Me!Vilechefi = " "
Me!Chefservicei = " "
Me!Telchefservi = " "
Me!GSMchefservi = " "
Me!Mailchefservi = " "
Me!Adressechefservi = " "
Me!Codepostalchefservi = " "
Me!Villechefservi = " "
Me!Directeurformationi = " "
Me!Teldirecteurformi = " "
Me!GSMdirecteurformi = " "
Me!Maildirecteurformi = " "

MsgBox " Vous pouvez encoder la nouvelle affectation et
cliquer sur enregistrer !"
End If

End Sub

Bonne lecture et encore merci pour ton aide
nadine


-----Message d'origine-----
Salut,

Pour répondre à "3stone"...


ben, pour répondre, il faut rester dans le fil...

Ici, maintenant, tu as commencé une nouvelle
conversation

et j'ai dû rechercher de quoi tu parlais ;-(



Voici plus en détails mon application.
J'ai plusieurs table pour gérer des stagiaires.
La première, la table stagiaires, j'y encode toutes les
données du stagiaire, ensuite grâce aux relations j'ai
une table affectation, rapport de stage, entrevue,
intervnetion etc...
Dans les formulaires j'ai mis chaque fois un bouton
enregistrer, pour enregistrer le stagiaire, l'affectation
etc.. Et un bouton modifier au cas ou une erreur
d'encodage se serais produite et pour permettre de
modifier l'enregistrement ultérieurement.Pour cela j'ai
utilisé Monrecord.Edit, mais j'ai contaté que si je fais
une modification et que si je me trompe, et je clic sur
enregistrer surtout dans les affectations, cela ajoute un
enregistrement dans la table affection avec le num de
stagiaire mais un autre numéro d'affectation. Comme si le
stagiaire avait 2 affectations. Ce qui est une erreur.


Je ne comprend pas ta manière de faire...
Tu dis, être dans un formulaire... avec des
boutons...

J'imagine aussi que tes formulaires ne sont pas
indépendants!


Dans ce cas de figure, il me semble que l'on ne fait
rien d'autre

que de travailler avec un formulaire "verrouillé".
- Avec le bouton "Modifier", on déverrouille pour
permettre la modif.

- Un bouton "Sauver", sauve et reverrouille...
- alors que le bouton "Nouveau" déverrouille et va
sur un nouvel enregistrement.


Dans ces conditions, je ne vois pas pourquoi tu
utilise 'monrecord.Edit' ?

Et même si tu "tripote" directement le recordset,
cela n'ajoute pas un

enregistrement... puisque dans ce cas, tu édite
Monrecord!LeChamp


Il me semble que tu utilise mal la méthode, mais...

Il faudrait donner tout le code de ton
bouton "modifier"... pour comprendre!

Et savoir si les formulaires sont indépendant ou
non !



--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------



.