OVH Cloud OVH Cloud

Gestion MAJ de la base par formulaire

9 réponses
Avatar
brinco
Bonjour,

Une petite question pour vous. J'ai crée un formulaire me permettant de
consulter et de mettre à jour les champs d'une base. Sur ce formulaire, j'ai
ajouté un bouton 'suppression' pour éliminer des enregistrements (pas de pb)
mais également un boutton 'validation' qui valide les modifications sur un
enregistrement.

Mon pb est le suivant: ce boutton est en fait assez inutile puisque si après
une modification sur un enregistrement, je bascule vers un autre
enregistrement ou même si je ferme mon formulaire, les modifications sont
automatiquement enregistrées. Je souhaiterais que lors d'une modification,
sur la sortie du formulaire ou le basculement vers un autre enregistrement,
un message du type 'vous avez modifié votre enregistrement. Validez ou
annulez' ou quelque chose dans le genre force l'utilisateur à valider (donc à
contrôler sa saisie). L'idée est que l'utilisateur ne puisse pas modifier par
mégarde un enregistrement sans même sans rendre compte.

Voyez vous une solution à mon pb?

Merci d'avance.

9 réponses

Avatar
Olivier, Jegou
Bonjour Brinco.

Pourquoi ne pas mettre du code sur MaJ ?

Oliver

"brinco" wrote in message
news:
Bonjour,

Une petite question pour vous. J'ai crée un formulaire me permettant de
consulter et de mettre à jour les champs d'une base. Sur ce formulaire,
j'ai

ajouté un bouton 'suppression' pour éliminer des enregistrements (pas de
pb)

mais également un boutton 'validation' qui valide les modifications sur un
enregistrement.

Mon pb est le suivant: ce boutton est en fait assez inutile puisque si
après

une modification sur un enregistrement, je bascule vers un autre
enregistrement ou même si je ferme mon formulaire, les modifications sont
automatiquement enregistrées. Je souhaiterais que lors d'une modification,
sur la sortie du formulaire ou le basculement vers un autre
enregistrement,

un message du type 'vous avez modifié votre enregistrement. Validez ou
annulez' ou quelque chose dans le genre force l'utilisateur à valider
(donc à

contrôler sa saisie). L'idée est que l'utilisateur ne puisse pas modifier
par

mégarde un enregistrement sans même sans rendre compte.

Voyez vous une solution à mon pb?

Merci d'avance.


Avatar
brinco
C'est à dire?

Tu pense à un truc du genre déclarer sur le code évènement 'avant MAJ' de
chaque champ valoriser un flag qui indiquerait qu'une mise à jour à été faite
et ne la valider que si j'appuie sur le bouton 'Validation'?

J'ai bien pensé à un truc comme ça mais je sais pas si ça marche. Les essais
que j'ai faits n'étaient pas vraiment concluant.


Bonjour Brinco.

Pourquoi ne pas mettre du code sur MaJ ?

Oliver

"brinco" wrote in message
news:
Bonjour,

Une petite question pour vous. J'ai crée un formulaire me permettant de
consulter et de mettre à jour les champs d'une base. Sur ce formulaire,
j'ai

ajouté un bouton 'suppression' pour éliminer des enregistrements (pas de
pb)

mais également un boutton 'validation' qui valide les modifications sur un
enregistrement.

Mon pb est le suivant: ce boutton est en fait assez inutile puisque si
après

une modification sur un enregistrement, je bascule vers un autre
enregistrement ou même si je ferme mon formulaire, les modifications sont
automatiquement enregistrées. Je souhaiterais que lors d'une modification,
sur la sortie du formulaire ou le basculement vers un autre
enregistrement,

un message du type 'vous avez modifié votre enregistrement. Validez ou
annulez' ou quelque chose dans le genre force l'utilisateur à valider
(donc à

contrôler sa saisie). L'idée est que l'utilisateur ne puisse pas modifier
par

mégarde un enregistrement sans même sans rendre compte.

Voyez vous une solution à mon pb?

Merci d'avance.







Avatar
Domi
Bonjour,

Regarde ceci, cela devrait te convenir

http://mypage.bluewin.ch/w.stucki/Formulaires.htm#AnnulerModifications

Bonne journée.

Domi


C'est à dire?

Tu pense à un truc du genre déclarer sur le code évènement 'avant MAJ' de
chaque champ valoriser un flag qui indiquerait qu'une mise à jour à été faite
et ne la valider que si j'appuie sur le bouton 'Validation'?

J'ai bien pensé à un truc comme ça mais je sais pas si ça marche. Les essais
que j'ai faits n'étaient pas vraiment concluant.


Bonjour Brinco.

Pourquoi ne pas mettre du code sur MaJ ?

Oliver

"brinco" wrote in message
news:
Bonjour,

Une petite question pour vous. J'ai crée un formulaire me permettant de
consulter et de mettre à jour les champs d'une base. Sur ce formulaire,
j'ai

ajouté un bouton 'suppression' pour éliminer des enregistrements (pas de
pb)

mais également un boutton 'validation' qui valide les modifications sur un
enregistrement.

Mon pb est le suivant: ce boutton est en fait assez inutile puisque si
après

une modification sur un enregistrement, je bascule vers un autre
enregistrement ou même si je ferme mon formulaire, les modifications sont
automatiquement enregistrées. Je souhaiterais que lors d'une modification,
sur la sortie du formulaire ou le basculement vers un autre
enregistrement,

un message du type 'vous avez modifié votre enregistrement. Validez ou
annulez' ou quelque chose dans le genre force l'utilisateur à valider
(donc à

contrôler sa saisie). L'idée est que l'utilisateur ne puisse pas modifier
par

mégarde un enregistrement sans même sans rendre compte.

Voyez vous une solution à mon pb?

Merci d'avance.









Avatar
3stone
Salut,

"brinco"
| Tu pense à un truc du genre déclarer sur le code évènement 'avant MAJ' de
| chaque champ valoriser un flag qui indiquerait qu'une mise à jour à été faite
| et ne la valider que si j'appuie sur le bouton 'Validation'?


Il suffit de mettre dans "Avant mise à jour" du *formulaire* qque chose comme:


if msgbox("Voulez-vous sauver...", vbYesNo) = vbNo then
cancel = true
me.undo
end if


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

"brinco"
Tu pense à un truc du genre déclarer sur le code évènement 'avant MAJ' de
chaque champ valoriser un flag qui indiquerait qu'une mise à jour à été
faite et ne la valider que si j'appuie sur le bouton 'Validation'?



Il suffit de mettre dans "Avant mise à jour" du *formulaire* qque chose
comme:


if msgbox("Voulez-vous sauver...", vbYesNo) = vbNo then
cancel = true
me.undo
end if


Salut,

Cela fonctionne très bien.

Merci

--
Tonio
Meilleurs noeuds et beaux nénés


Avatar
brinco
Effectivement ça marche très bien, je ne sais pas ce que j'ai fait quand ça
ne marchait pas. Merci encore à vous tous.


Salut,

"brinco"
Tu pense à un truc du genre déclarer sur le code évènement 'avant MAJ' de
chaque champ valoriser un flag qui indiquerait qu'une mise à jour à été
faite et ne la valider que si j'appuie sur le bouton 'Validation'?



Il suffit de mettre dans "Avant mise à jour" du *formulaire* qque chose
comme:


if msgbox("Voulez-vous sauver...", vbYesNo) = vbNo then
cancel = true
me.undo
end if


Salut,

Cela fonctionne très bien.

Merci

--
Tonio
Meilleurs noeuds et beaux nénés







Avatar
tonio
Salut,

"brinco"
Tu pense à un truc du genre déclarer sur le code évènement 'avant MAJ' de
chaque champ valoriser un flag qui indiquerait qu'une mise à jour à été
faite et ne la valider que si j'appuie sur le bouton 'Validation'?



Il suffit de mettre dans "Avant mise à jour" du *formulaire* qque chose
comme:


if msgbox("Voulez-vous sauver...", vbYesNo) = vbNo then
cancel = true
me.undo
end if


Salut,

j'ai un petit soucis

j'ai rajouter à l'activation de la form

Private Sub Form_Current()
If (Me.Titre) = "M." Then
Nom_Jeune_Fille.Visible = False
Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mlle" Then
Nom_Jeune_Fille.Visible = False
Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mme" Then
Nom_Jeune_Fille.Visible = True
End If
If (Me.Situation_Familiale) = "1" Then
Num_Conjoint.Visible = False
Me.Titre_Conjoint = Null
Me.Nom_Conjoint = Null
Me.Prénom_Conjoint = Null
End If
If (Me.Situation_Familiale) <> "1" Then
Num_Conjoint.Visible = True
End If
End Sub

pour masquer des champs et réinitialiser des valeurs

mais lorsque je navigue d'un enregistrement à l'autre automatiquement
il me demande "Voulez-vous sauver..."

comment remedier à cela?

Merci

--
Tonio
Meilleurs noeuds et beaux nénés


Avatar
3stone
Salut,

"tonio"
| j'ai un petit soucis
|
| j'ai rajouter à l'activation de la form
|
| Private Sub Form_Current()
| If (Me.Titre) = "M." Then
| Nom_Jeune_Fille.Visible = False
| Me.Nom_Jeune_Fille = Null
| End If
| If (Me.Titre) = "Mlle" Then
| Nom_Jeune_Fille.Visible = False
| Me.Nom_Jeune_Fille = Null
| End If
| If (Me.Titre) = "Mme" Then
| Nom_Jeune_Fille.Visible = True
| End If
| If (Me.Situation_Familiale) = "1" Then
| Num_Conjoint.Visible = False
| Me.Titre_Conjoint = Null
| Me.Nom_Conjoint = Null
| Me.Prénom_Conjoint = Null
| End If
| If (Me.Situation_Familiale) <> "1" Then
| Num_Conjoint.Visible = True
| End If
| End Sub
|
| pour masquer des champs et réinitialiser des valeurs
|
| mais lorsque je navigue d'un enregistrement à l'autre automatiquement
| il me demande "Voulez-vous sauver..."
|
| comment remedier à cela?


Oui... et c'est normal... puisque tu ne te contente pas de cacher les textbox,
tu modifie le valeur en faissant :

Me.NomJeune_Fille = Null

il te demande donc s'il doit sauver les modifications ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
tonio
3stone a écrit dans son message :
Salut,

"tonio"
j'ai un petit soucis

j'ai rajouter à l'activation de la form

Private Sub Form_Current()
If (Me.Titre) = "M." Then
Nom_Jeune_Fille.Visible = False
Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mlle" Then
Nom_Jeune_Fille.Visible = False
Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mme" Then
Nom_Jeune_Fille.Visible = True
End If
If (Me.Situation_Familiale) = "1" Then
Num_Conjoint.Visible = False
Me.Titre_Conjoint = Null
Me.Nom_Conjoint = Null
Me.Prénom_Conjoint = Null
End If
If (Me.Situation_Familiale) <> "1" Then
Num_Conjoint.Visible = True
End If
End Sub

pour masquer des champs et réinitialiser des valeurs

mais lorsque je navigue d'un enregistrement à l'autre automatiquement
il me demande "Voulez-vous sauver..."

comment remedier à cela?




Oui... et c'est normal... puisque tu ne te contente pas de cacher les
textbox, tu modifie le valeur en faissant :

Me.NomJeune_Fille = Null

il te demande donc s'il doit sauver les modifications ;-)


voilà ce que j'ai modifier et ca marche

Private Sub Form_BeforeUpdate(Cancel As Integer)
If MsgBox("Voulez-vous sauver...", vbYesNo) = vbNo Then
Cancel = True
If (Me.Titre) = "M." Then
Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mlle" Then
Me.Nom_Jeune_Fille = Null
End If
If (Me.Situation_Familiale) = "1" Then
Me.Titre_Conjoint = Null
Me.Nom_Conjoint = Null
Me.Prénom_Conjoint = Null
End If
Me.Undo
End If
End Sub

Private Sub Form_Current()
Titre.SetFocus
If (Me.Titre) = "M." Then
Nom_Jeune_Fille.Visible = False
' Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mlle" Then
Nom_Jeune_Fille.Visible = False
' Me.Nom_Jeune_Fille = Null
End If
If (Me.Titre) = "Mme" Then
Nom_Jeune_Fille.Visible = True
End If
If (Me.Situation_Familiale) = "1" Then
Num_Conjoint.Visible = False
' Me.Titre_Conjoint = Null
' Me.Nom_Conjoint = Null
' Me.Prénom_Conjoint = Null
End If
If (Me.Situation_Familiale) <> "1" Then
Num_Conjoint.Visible = True
End If
End Sub


Merci encore pour l'inspiration

--
Tonio
Lecteur de News : MesNews <http://www.mesnews.net/chargement.php> - Lecteur de
mail : Mozilla thunderbird
<http://www.mozilla-europe.org/fr/products/thunderbird/> - Navigateur internet :
IE6 <http://www.microsoft.com> - Messagerie instantanée : Msn Messenger
<http://messenger.msn.fr>