Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier LONGET@discussions.microsoft.com> a écrit dans le
message de news: 34A70716-9512-4CB7-A08D-48821FECAE99@microsoft.com...
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier LONGET@discussions.microsoft.com> a écrit dans le
message de news: 34A70716-9512-4CB7-A08D-48821FECAE99@microsoft.com...
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier LONGET@discussions.microsoft.com> a écrit dans le
message de news: 34A70716-9512-4CB7-A08D-48821FECAE99@microsoft.com...
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
l'option n'apparaît pas mais elle est bonne de même que controltype.
il faut compléter ta procédure en te limitant aux contrôles texte sinon tu
auras des erreurs sur les boutons et les étiquettes.
exemple ( à compléter )
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acTextBox Then
If Ctl.Enabled Then
If IsNull(Ctl) Then
Ctl.SetFocus
MsgBox "Zone non renseignée!" & Ctl.Name
Cancel = True
Exit Sub
End If
End If
End If
Next Ctl
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" a écrit dans le
message de news:Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
l'option n'apparaît pas mais elle est bonne de même que controltype.
il faut compléter ta procédure en te limitant aux contrôles texte sinon tu
auras des erreurs sur les boutons et les étiquettes.
exemple ( à compléter )
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acTextBox Then
If Ctl.Enabled Then
If IsNull(Ctl) Then
Ctl.SetFocus
MsgBox "Zone non renseignée!" & Ctl.Name
Cancel = True
Exit Sub
End If
End If
End If
Next Ctl
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <DidierLONGET@discussions.microsoft.com> a écrit dans le
message de news: EC7F1CED-4EC6-4F03-B153-A9397F6CE7D1@microsoft.com...
Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier LONGET@discussions.microsoft.com> a écrit dans le
message de news: 34A70716-9512-4CB7-A08D-48821FECAE99@microsoft.com...
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
l'option n'apparaît pas mais elle est bonne de même que controltype.
il faut compléter ta procédure en te limitant aux contrôles texte sinon tu
auras des erreurs sur les boutons et les étiquettes.
exemple ( à compléter )
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acTextBox Then
If Ctl.Enabled Then
If IsNull(Ctl) Then
Ctl.SetFocus
MsgBox "Zone non renseignée!" & Ctl.Name
Cancel = True
Exit Sub
End If
End If
End If
Next Ctl
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" a écrit dans le
message de news:Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous les
champs obligatoires et l'inviter à le faire en positionnant le curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Merci pour la réponse, celà fonctionne mais effectivement pas avec les
listes déroulantes....je reste perplexe car le code que j'avais écrit
ci-dessous fonctionne parfaitement (bien que peu économe en nmbre de
lignes...) et celà me laisse à penser qu'il doit y avoir solution simple à
mettre en oeuvre...tant que je n'ai pas de zone verrouillée le prg
développé
dans mon 1er post fonctionne parfaitement, c'est l'introduction des zones
verouillée qui pose prb....
'dévérouillé dans le formulaire si choix précédent -1
If Me!SNUMP.Enabled = True And IsNull(Me!SNUMP) Then
Me!SNUMP.SetFocus
MsgBox "Zone non renseignée!"
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!SHD.Enabled = True And IsNull(Me!SHD) Then
Me!SHD.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!SHF.Enabled = True And IsNull(Me!SHF) Then
Me!SHF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!STAF.Enabled = True And IsNull(Me!STAF) Then
Me!STAF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -2
If Me!Duree.Enabled = True And IsNull(Me!Duree) Then
Me!Duree.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -2
If Me!ECHELLE.Enabled = True And IsNull(Me!ECHELLE) Then
Me!ECHELLE.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'apparait dans le formulaire qq soit le choix
If IsNull(Me!SMOTIF) Then
Me!SMOTIF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'apparait dans le formulaire qq soit le choix
If IsNull(Me!SDATNU) Then
Me!SDATNU.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
Enregistrement
"Raymond [mvp]" wrote:l'option n'apparaît pas mais elle est bonne de même que controltype.
il faut compléter ta procédure en te limitant aux contrôles texte sinon
tu
auras des erreurs sur les boutons et les étiquettes.
exemple ( à compléter )
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acTextBox Then
If Ctl.Enabled Then
If IsNull(Ctl) Then
Ctl.SetFocus
MsgBox "Zone non renseignée!" & Ctl.Name
Cancel = True
Exit Sub
End If
End If
End If
Next Ctl
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" a écrit dans le
message de news:Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une
référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable
de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans
le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous
les
champs obligatoires et l'inviter à le faire en positionnant le
curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Merci pour la réponse, celà fonctionne mais effectivement pas avec les
listes déroulantes....je reste perplexe car le code que j'avais écrit
ci-dessous fonctionne parfaitement (bien que peu économe en nmbre de
lignes...) et celà me laisse à penser qu'il doit y avoir solution simple à
mettre en oeuvre...tant que je n'ai pas de zone verrouillée le prg
développé
dans mon 1er post fonctionne parfaitement, c'est l'introduction des zones
verouillée qui pose prb....
'dévérouillé dans le formulaire si choix précédent -1
If Me!SNUMP.Enabled = True And IsNull(Me!SNUMP) Then
Me!SNUMP.SetFocus
MsgBox "Zone non renseignée!"
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!SHD.Enabled = True And IsNull(Me!SHD) Then
Me!SHD.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!SHF.Enabled = True And IsNull(Me!SHF) Then
Me!SHF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!STAF.Enabled = True And IsNull(Me!STAF) Then
Me!STAF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -2
If Me!Duree.Enabled = True And IsNull(Me!Duree) Then
Me!Duree.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -2
If Me!ECHELLE.Enabled = True And IsNull(Me!ECHELLE) Then
Me!ECHELLE.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'apparait dans le formulaire qq soit le choix
If IsNull(Me!SMOTIF) Then
Me!SMOTIF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'apparait dans le formulaire qq soit le choix
If IsNull(Me!SDATNU) Then
Me!SDATNU.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
Enregistrement
"Raymond [mvp]" wrote:
l'option n'apparaît pas mais elle est bonne de même que controltype.
il faut compléter ta procédure en te limitant aux contrôles texte sinon
tu
auras des erreurs sur les boutons et les étiquettes.
exemple ( à compléter )
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acTextBox Then
If Ctl.Enabled Then
If IsNull(Ctl) Then
Ctl.SetFocus
MsgBox "Zone non renseignée!" & Ctl.Name
Cancel = True
Exit Sub
End If
End If
End If
Next Ctl
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <DidierLONGET@discussions.microsoft.com> a écrit dans le
message de news: EC7F1CED-4EC6-4F03-B153-A9397F6CE7D1@microsoft.com...
Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une
référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:
Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable
de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier LONGET@discussions.microsoft.com> a écrit dans
le
message de news: 34A70716-9512-4CB7-A08D-48821FECAE99@microsoft.com...
Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous
les
champs obligatoires et l'inviter à le faire en positionnant le
curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2:
Merci pour la réponse, celà fonctionne mais effectivement pas avec les
listes déroulantes....je reste perplexe car le code que j'avais écrit
ci-dessous fonctionne parfaitement (bien que peu économe en nmbre de
lignes...) et celà me laisse à penser qu'il doit y avoir solution simple à
mettre en oeuvre...tant que je n'ai pas de zone verrouillée le prg
développé
dans mon 1er post fonctionne parfaitement, c'est l'introduction des zones
verouillée qui pose prb....
'dévérouillé dans le formulaire si choix précédent -1
If Me!SNUMP.Enabled = True And IsNull(Me!SNUMP) Then
Me!SNUMP.SetFocus
MsgBox "Zone non renseignée!"
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!SHD.Enabled = True And IsNull(Me!SHD) Then
Me!SHD.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!SHF.Enabled = True And IsNull(Me!SHF) Then
Me!SHF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -1
If Me!STAF.Enabled = True And IsNull(Me!STAF) Then
Me!STAF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -2
If Me!Duree.Enabled = True And IsNull(Me!Duree) Then
Me!Duree.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'dévérouillé dans le formulaire si choix précédent -2
If Me!ECHELLE.Enabled = True And IsNull(Me!ECHELLE) Then
Me!ECHELLE.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'apparait dans le formulaire qq soit le choix
If IsNull(Me!SMOTIF) Then
Me!SMOTIF.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
'apparait dans le formulaire qq soit le choix
If IsNull(Me!SDATNU) Then
Me!SDATNU.SetFocus
MsgBox "Zone non renseignée ! "
Exit Sub
End If
Enregistrement
"Raymond [mvp]" wrote:l'option n'apparaît pas mais elle est bonne de même que controltype.
il faut compléter ta procédure en te limitant aux contrôles texte sinon
tu
auras des erreurs sur les boutons et les étiquettes.
exemple ( à compléter )
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.ControlType = acTextBox Then
If Ctl.Enabled Then
If IsNull(Ctl) Then
Ctl.SetFocus
MsgBox "Zone non renseignée!" & Ctl.Name
Cancel = True
Exit Sub
End If
End If
End If
Next Ctl
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" a écrit dans le
message de news:Bonjour,
J'obtiens le code erreur 438....me manquerait t'il une
référence....j'ai
beau cherché je ne trouve pas...
quand je tape ctl l'option enabled n'apparait pas....
Merci de votre patience...
cordialement
Didier
"Raymond [mvp]" wrote:Bonjour.
tu as indiqué la réponse toi-même.
il faut rajouter le test dans ta procédure mais il serait préférable
de
placer toutes tes fonctions dans l'événement beforeupdate ( à voir):
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Enabled Then
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
Cancel = True
Exit Sub
End If
End If
Next Ctl
Enregistrement
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Didier LONGET" <Didier a écrit dans
le
message de news:Bonjour,
Dans un formulaire j'aimerais tester si l'utilisateur a rempli tous
les
champs obligatoires et l'inviter à le faire en positionnant le
curseur
sur
le
champ non rempli...
la routine suivante fonctionne très bien :
Private Sub Sauvegarder_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
If IsNull(Ctl) Then
DisplayMessage "Zone non renseignée!"
Ctl.SetFocus
GoTo FIN2
Else
End If
Next Ctl
Enregistrement
FIN2:
End Sub
Sauf...que certain controle sont bloqués volontairement...comment
procéder
pour que ma routine saute un controle s'il n'est pas activé ???
du genre : if me.controls.enable = false then goto FIN2: