[VBA]PBL de màj d'une table via un formulaire

Le
Nadine
Bonjour à tous,

J'ai encore un petit pbl que je n'arrive pas a résoudre.
Dans mes formulaires je mets toujours un bouton "modifier". Je fais une
recherche sur la note de frais par ex. j'ajoute une donnée et je clique sur
le bouton modifier. Il prend bien la donnée ajoutée mais il va écraser le 1er
enregistrement, donc il y a un problème mais je ne trouve pas quoi.
voici mon code :

Private Sub Bmodifier_Click()
Set Mbase = CurrentDb
Set record = Mbase.OpenRecordset("T_note_frais", dbOpenTable)

record.Edit
'Me!Num_idi = record![Num_id]
'record![Num_personne] = Me!Num_personnei
'record![Mois] = Me!Moisi
'record![Annee] = Me!Anneei
record![Numero] = Me!Numeroi
record![Description] = Me!Descriptioni
record![Montant] = Me!Montanti
record![Numero1] = Me!Numero1i
record![Description1] = Me!Description1i
record![Montant1] = Me!Montant1i
record![Numero2] = Me!Numero2i
record![Description2] = Me!Description2i
record![Montant2] = Me!Montant2i
record![Numero3] = Me!Numero3i
record![Description3] = Me!Description3i
record![Montant3] = Me!Montant3i
record![Numero4] = Me!Numero4i
record![Description4] = Me!Description4i
record![Montant4] = Me!Montant4i
record![Numero5] = Me!Numero5i
record![Description5] = Me!Description5i
record![Montant5] = Me!Montant5i
record![Numero6] = Me!Numero6i
record![Description6] = Me!Description6i
record![Montant6] = Me!Montant6i
record.Update
MsgBox "Modification enregistrée !"
End Sub
J'ai essayé de supprimer quelques contrôles du code, que l'on ne doit jamais
modifier, comme le num_id, le num_personne, le mois et l'année.
Mais j'ai toujours le même problème

Quelqu'un pourrait-il m'aider svp ?
Merci pour toute l''aide que vous m''apporterais
Nadine
Vos réponses
Trier par : date / pertinence
Ilan
Le #5966241
Bonjour, visiblement tu ouvres la table au moment de la modification mais
sans pointer sur l'enregistrement à modifier. Tu modifies toujours le même
enregistrement, le premier si la table n'est pas vide.
Il te faut faire une recherche de l'enregistrement à modifier avant
d'éditer quelque chose du genre:

' SI Me!Num_idi correspond à
l'enregistrement en cours)
- Record.FindFirst (Num_id = Me!Num_idi)
- IF Not Record.Nomatch THEN
Record.Edit
...
Record.UpDate
- END IF


Bonjour à tous,

J'ai encore un petit pbl que je n'arrive pas a résoudre.
Dans mes formulaires je mets toujours un bouton "modifier". Je fais une
recherche sur la note de frais par ex. j'ajoute une donnée et je clique sur
le bouton modifier. Il prend bien la donnée ajoutée mais il va écraser le 1er
enregistrement, donc il y a un problème mais je ne trouve pas quoi.
voici mon code :

Private Sub Bmodifier_Click()
Set Mbase = CurrentDb
Set record = Mbase.OpenRecordset("T_note_frais", dbOpenTable)

record.Edit
'Me!Num_idi = record![Num_id]
'record![Num_personne] = Me!Num_personnei
'record![Mois] = Me!Moisi
'record![Annee] = Me!Anneei
record![Numero] = Me!Numeroi
record![Description] = Me!Descriptioni
record![Montant] = Me!Montanti
record![Numero1] = Me!Numero1i
record![Description1] = Me!Description1i
record![Montant1] = Me!Montant1i
record![Numero2] = Me!Numero2i
record![Description2] = Me!Description2i
record![Montant2] = Me!Montant2i
record![Numero3] = Me!Numero3i
record![Description3] = Me!Description3i
record![Montant3] = Me!Montant3i
record![Numero4] = Me!Numero4i
record![Description4] = Me!Description4i
record![Montant4] = Me!Montant4i
record![Numero5] = Me!Numero5i
record![Description5] = Me!Description5i
record![Montant5] = Me!Montant5i
record![Numero6] = Me!Numero6i
record![Description6] = Me!Description6i
record![Montant6] = Me!Montant6i
record.Update
MsgBox "Modification enregistrée !"
End Sub
J'ai essayé de supprimer quelques contrôles du code, que l'on ne doit jamais
modifier, comme le num_id, le num_personne, le mois et l'année.
Mais j'ai toujours le même problème

Quelqu'un pourrait-il m'aider svp ?
Merci pour toute l''aide que vous m''apporterais
Nadine


3stone
Le #5966121
Salut,

"Nadine"
| J'ai encore un petit pbl que je n'arrive pas a résoudre.
| Dans mes formulaires je mets toujours un bouton "modifier". Je fais une
| recherche sur la note de frais par ex. j'ajoute une donnée et je clique sur
| le bouton modifier. Il prend bien la donnée ajoutée mais il va écraser le 1er
| enregistrement, donc il y a un problème mais je ne trouve pas quoi.
| voici mon code :
|
| Private Sub Bmodifier_Click()
| Set Mbase = CurrentDb
| Set record = Mbase.OpenRecordset("T_note_frais", dbOpenTable)
|
| record.Edit
| 'Me!Num_idi = record![Num_id]
| 'record![Num_personne] = Me!Num_personnei
<snip>


Au lieu de ces arabesques, tu devrait travailler avec la table
(ou une requete basée sur la table) comme source de ton formulaire !
Tu évitera du même coup tout ce code inutile, que tu ne comprends pas...)

De plus, ta table (et donc toute la base) est très mal concue...
- plusieurs champs [montant] dans une table :-(


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Nadine
Le #5965991
En voilà une réponse constructive, merci beaucoup, j'aprécie énormément.
--
Merci
Nadine


Salut,

"Nadine"
| J'ai encore un petit pbl que je n'arrive pas a résoudre.
| Dans mes formulaires je mets toujours un bouton "modifier". Je fais une
| recherche sur la note de frais par ex. j'ajoute une donnée et je clique sur
| le bouton modifier. Il prend bien la donnée ajoutée mais il va écraser le 1er
| enregistrement, donc il y a un problème mais je ne trouve pas quoi.
| voici mon code :
|
| Private Sub Bmodifier_Click()
| Set Mbase = CurrentDb
| Set record = Mbase.OpenRecordset("T_note_frais", dbOpenTable)
|
| record.Edit
| 'Me!Num_idi = record![Num_id]
| 'record![Num_personne] = Me!Num_personnei
<snip>


Au lieu de ces arabesques, tu devrait travailler avec la table
(ou une requete basée sur la table) comme source de ton formulaire !
Tu évitera du même coup tout ce code inutile, que tu ne comprends pas...)

De plus, ta table (et donc toute la base) est très mal concue...
- plusieurs champs [montant] dans une table :-(


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




3stone
Le #5965961
"Nadine"
| En voilà une réponse constructive, merci beaucoup, j'aprécie énormément.


c'est pourtant, en résumé, tout ce qui ne vas pas...

;-))


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Publicité
Poster une réponse
Anonyme