mise à jour formulaire

Le
C15
Bonjour à tous et à toutes,

J'ai un formulaire dont un contrôle Montant_dû correspond à un champ d'une
requête.

La valeur par défaut est 15.
Lorsque j'ouvre une nouvelle fiche la valeur affichée est bien 15, mais dès
que je commence la saisie cette valeur s'efface.

J'ai un bouton pour valider le nouvel enregistrement avec :

Private Sub Sauvegarde_Click()

On Error GoTo Err_Sauvegarde_Click

On Error Resume Next

Me.Refresh
DoCmd.RunCommand acCmdSaveRecord
Me.DateMiseAJour = Date

Dim Ctl As Control
For Each Ctl In Me.Détail.Controls
If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or
(Ctl.ControlType = acCheckBox) Then
Ctl.Locked = True
End If
Next Ctl



Exit_Sauvegarde_Click:
Exit Sub

Err_Sauvegarde_Click:
MsgBox Err.Description
Resume Exit_Sauvegarde_Click

End Sub

Quand je valide, je sauvegarde bien l'enregistrement, mon contrôle
DateMiseAJour affiche bien la date du jour, mais mon contrôle Montant_dû
n'affiche toujours rien.
Il faut que je ferme le formulaire et que je le réouvre pour que la valeur
s'affiche.

Comment corriger cela ?
Est-ce lié à Me.refresh ?
Je ne vois pas trop la différence avec Me.Requery

Merci de votre aide

A+

C15
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ze Titi
Le #6273251
Bonjour C15

Pas tout compris... Mais concernant ce problème de rafraîchissement,
Me.Recalc
fonctionne en général très bien !

Dans ton message
Bonjour à tous et à toutes,

J'ai un formulaire dont un contrôle Montant_dû correspond à un champ d'une
requête.

La valeur par défaut est 15.
Lorsque j'ouvre une nouvelle fiche la valeur affichée est bien 15, mais dès
que je commence la saisie cette valeur s'efface.

J'ai un bouton pour valider le nouvel enregistrement avec :

Private Sub Sauvegarde_Click()

On Error GoTo Err_Sauvegarde_Click

On Error Resume Next

Me.Refresh
DoCmd.RunCommand acCmdSaveRecord
Me.DateMiseAJour = Date

Dim Ctl As Control
For Each Ctl In Me.Détail.Controls
If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or
(Ctl.ControlType = acCheckBox) Then
Ctl.Locked = True
End If
Next Ctl



Exit_Sauvegarde_Click:
Exit Sub

Err_Sauvegarde_Click:
MsgBox Err.Description
Resume Exit_Sauvegarde_Click

End Sub

Quand je valide, je sauvegarde bien l'enregistrement, mon contrôle
DateMiseAJour affiche bien la date du jour, mais mon contrôle Montant_dû
n'affiche toujours rien.
Il faut que je ferme le formulaire et que je le réouvre pour que la valeur
s'affiche.

Comment corriger cela ?
Est-ce lié à Me.refresh ?
Je ne vois pas trop la différence avec Me.Requery

Merci de votre aide

A+

C15


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

C15
Le #6273091
Bonjour,

Je reprends.

J'ai un formulaire comportant un certain nombre de champs issus d'une table
et d'une requête.

J'ai un champ Montant_dû lié à une requête.
La valeur par défaut de ce champ s'affiche bien lorsque j'ouvre un nouvel
enregistrement.
Dès que je commence à saisir les données de ce nouvel enregistrement, la
valeur par défaut de ce contrôle s'efface.
Lorsque je sauvegarde cet enregistrement, ce contrôle reste toujours vide.

Il faut que je referme puis réouvre ce formulaire pour que je visualise la
valeur du contrôle Montant dû.

J'ai essayé
Me.Refresh
Me.Requery
Me.Recalc
rien n'y fait, le contrôle reste toujours vide.

Merci de ton aide

A+

C15

"ze Titi"
Bonjour C15

Pas tout compris... Mais concernant ce problème de rafraîchissement,
Me.Recalc
fonctionne en général très bien !

Dans ton message
Bonjour à tous et à toutes,

J'ai un formulaire dont un contrôle Montant_dû correspond à un champ
d'une requête.

La valeur par défaut est 15.
Lorsque j'ouvre une nouvelle fiche la valeur affichée est bien 15, mais
dès que je commence la saisie cette valeur s'efface.

J'ai un bouton pour valider le nouvel enregistrement avec :

Private Sub Sauvegarde_Click()

On Error GoTo Err_Sauvegarde_Click

On Error Resume Next

Me.Refresh
DoCmd.RunCommand acCmdSaveRecord
Me.DateMiseAJour = Date

Dim Ctl As Control
For Each Ctl In Me.Détail.Controls
If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or
(Ctl.ControlType = acCheckBox) Then
Ctl.Locked = True
End If
Next Ctl



Exit_Sauvegarde_Click:
Exit Sub

Err_Sauvegarde_Click:
MsgBox Err.Description
Resume Exit_Sauvegarde_Click

End Sub

Quand je valide, je sauvegarde bien l'enregistrement, mon contrôle
DateMiseAJour affiche bien la date du jour, mais mon contrôle Montant_dû
n'affiche toujours rien.
Il faut que je ferme le formulaire et que je le réouvre pour que la
valeur s'affiche.

Comment corriger cela ?
Est-ce lié à Me.refresh ?
Je ne vois pas trop la différence avec Me.Requery

Merci de votre aide

A+

C15


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info





ze Titi
Le #6273051
Je trouve plutôt étrange de faire le rafraîchissement avant la
sauvegarde...

D'autre part, dans quel mode es-tu sur ton formulaire ? Feuille de
données ou formulaire ? As-tu du code ailleurs que pour
l'enregistrement ? Tes champs sont-ils indépendants ou basés sur une
table ?

Dans ton message
Bonjour,

Je reprends.

J'ai un formulaire comportant un certain nombre de champs issus d'une table
et d'une requête.

J'ai un champ Montant_dû lié à une requête.
La valeur par défaut de ce champ s'affiche bien lorsque j'ouvre un nouvel
enregistrement.
Dès que je commence à saisir les données de ce nouvel enregistrement, la
valeur par défaut de ce contrôle s'efface.
Lorsque je sauvegarde cet enregistrement, ce contrôle reste toujours vide.

Il faut que je referme puis réouvre ce formulaire pour que je visualise la
valeur du contrôle Montant dû.

J'ai essayé
Me.Refresh
Me.Requery
Me.Recalc
rien n'y fait, le contrôle reste toujours vide.

Merci de ton aide

A+

C15

"ze Titi"
Bonjour C15

Pas tout compris... Mais concernant ce problème de rafraîchissement,
Me.Recalc
fonctionne en général très bien !

Dans ton message
Bonjour à tous et à toutes,

J'ai un formulaire dont un contrôle Montant_dû correspond à un champ d'une
requête.

La valeur par défaut est 15.
Lorsque j'ouvre une nouvelle fiche la valeur affichée est bien 15, mais
dès que je commence la saisie cette valeur s'efface.

J'ai un bouton pour valider le nouvel enregistrement avec :

Private Sub Sauvegarde_Click()

On Error GoTo Err_Sauvegarde_Click

On Error Resume Next

Me.Refresh
DoCmd.RunCommand acCmdSaveRecord
Me.DateMiseAJour = Date

Dim Ctl As Control
For Each Ctl In Me.Détail.Controls
If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or
(Ctl.ControlType = acCheckBox) Then
Ctl.Locked = True
End If
Next Ctl



Exit_Sauvegarde_Click:
Exit Sub

Err_Sauvegarde_Click:
MsgBox Err.Description
Resume Exit_Sauvegarde_Click

End Sub

Quand je valide, je sauvegarde bien l'enregistrement, mon contrôle
DateMiseAJour affiche bien la date du jour, mais mon contrôle Montant_dû
n'affiche toujours rien.
Il faut que je ferme le formulaire et que je le réouvre pour que la valeur
s'affiche.

Comment corriger cela ?
Est-ce lié à Me.refresh ?
Je ne vois pas trop la différence avec Me.Requery

Merci de votre aide

A+

C15


-- Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info



C15
Le #6272661
Bonsoir,

Je suis en mode formulaire, les contrôles sont basés sur une table et une
requête via un requête SQL
et entre temps j'ai mis me.refresh en fin de procédure...sans résultat.
Par ailleurs, j'ai pas mal de code ailleurs (avant at après insertion, avant
et après maj)

Merci de ton aide

A+

c15

"ze Titi"
Je trouve plutôt étrange de faire le rafraîchissement avant la
sauvegarde...

D'autre part, dans quel mode es-tu sur ton formulaire ? Feuille de données
ou formulaire ? As-tu du code ailleurs que pour l'enregistrement ? Tes
champs sont-ils indépendants ou basés sur une table ?

Dans ton message
Bonjour,

Je reprends.

J'ai un formulaire comportant un certain nombre de champs issus d'une
table et d'une requête.

J'ai un champ Montant_dû lié à une requête.
La valeur par défaut de ce champ s'affiche bien lorsque j'ouvre un nouvel
enregistrement.
Dès que je commence à saisir les données de ce nouvel enregistrement, la
valeur par défaut de ce contrôle s'efface.
Lorsque je sauvegarde cet enregistrement, ce contrôle reste toujours
vide.

Il faut que je referme puis réouvre ce formulaire pour que je visualise
la valeur du contrôle Montant dû.

J'ai essayé
Me.Refresh
Me.Requery
Me.Recalc
rien n'y fait, le contrôle reste toujours vide.

Merci de ton aide

A+

C15

"ze Titi" news:
Bonjour C15

Pas tout compris... Mais concernant ce problème de rafraîchissement,
Me.Recalc
fonctionne en général très bien !

Dans ton message
Bonjour à tous et à toutes,

J'ai un formulaire dont un contrôle Montant_dû correspond à un champ
d'une requête.

La valeur par défaut est 15.
Lorsque j'ouvre une nouvelle fiche la valeur affichée est bien 15, mais
dès que je commence la saisie cette valeur s'efface.

J'ai un bouton pour valider le nouvel enregistrement avec :

Private Sub Sauvegarde_Click()

On Error GoTo Err_Sauvegarde_Click

On Error Resume Next

Me.Refresh
DoCmd.RunCommand acCmdSaveRecord
Me.DateMiseAJour = Date

Dim Ctl As Control
For Each Ctl In Me.Détail.Controls
If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox)
Or (Ctl.ControlType = acCheckBox) Then
Ctl.Locked = True
End If
Next Ctl



Exit_Sauvegarde_Click:
Exit Sub

Err_Sauvegarde_Click:
MsgBox Err.Description
Resume Exit_Sauvegarde_Click

End Sub

Quand je valide, je sauvegarde bien l'enregistrement, mon contrôle
DateMiseAJour affiche bien la date du jour, mais mon contrôle
Montant_dû n'affiche toujours rien.
Il faut que je ferme le formulaire et que je le réouvre pour que la
valeur s'affiche.

Comment corriger cela ?
Est-ce lié à Me.refresh ?
Je ne vois pas trop la différence avec Me.Requery

Merci de votre aide

A+

C15


-- Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info





--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info







Publicité
Poster une réponse
Anonyme