desactiver un bouton d'enregistrement précédent ou suivant
4 réponses
Le méruvien
bonjour,
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement
suivant, ou précédent,
Comment faire pour desactiver l'un ou l'autre quand je suis au 1er
enregistrement ou au dernier.
Ex: if [enregistrement actuel ] - 1 est null, ....... bouton.enabled=false
ou l'inverse
merci
roger
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Le méruvien"
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement suivant, ou précédent, Comment faire pour desactiver l'un ou l'autre quand je suis au 1er enregistrement ou au dernier. Ex: if [enregistrement actuel ] - 1 est null, ....... bouton.enabledúlse ou l'inverse
Une des nombreuses posibilités: http://mypage.bluewin.ch/w.stucki/Formulaires.htm#BtnNavig
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Le méruvien"
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement
suivant, ou précédent,
Comment faire pour desactiver l'un ou l'autre quand je suis au 1er
enregistrement ou au dernier.
Ex: if [enregistrement actuel ] - 1 est null, ....... bouton.enabledúlse
ou l'inverse
Une des nombreuses posibilités:
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#BtnNavig
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement suivant, ou précédent, Comment faire pour desactiver l'un ou l'autre quand je suis au 1er enregistrement ou au dernier. Ex: if [enregistrement actuel ] - 1 est null, ....... bouton.enabledúlse ou l'inverse
Une des nombreuses posibilités: http://mypage.bluewin.ch/w.stucki/Formulaires.htm#BtnNavig
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Le méruvien
Bonjour Stone, j'ai été sur le site, et j'ai donc fait comme il est écrit, ça marche pour le bouton précédent, mais pas pour le suivant, j'ai essayé les 2 méthodes 1)
Private Sub Form_Current()
btnPrécédent.Enabled = CBool(Me.CurrentRecord - 1) btnSuivant.Enabled = Not Me.NewRecord End Sub Cette méthode ne désactive pas le bouton.
Celle là le désactive a l'ouverture du formulaire.
Mon formulaires affiche des enregistrements sélectionnés selon un critère. Voit tu quelque chose pour me depanner ? merci
"3stone" a écrit dans le message de news:
Salut,
"Le méruvien"
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement suivant, ou précédent, Comment faire pour desactiver l'un ou l'autre quand je suis au 1er enregistrement ou au dernier. Ex: if [enregistrement actuel ] - 1 est null, ....... bouton.enabledúlse
ou l'inverse
Une des nombreuses posibilités: http://mypage.bluewin.ch/w.stucki/Formulaires.htm#BtnNavig
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Bonjour Stone,
j'ai été sur le site, et j'ai donc fait comme il est écrit, ça marche pour
le bouton précédent, mais pas pour le suivant, j'ai essayé les 2 méthodes
1)
Private Sub Form_Current()
btnPrécédent.Enabled = CBool(Me.CurrentRecord - 1)
btnSuivant.Enabled = Not Me.NewRecord
End Sub
Cette méthode ne désactive pas le bouton.
Celle là le désactive a l'ouverture du formulaire.
Mon formulaires affiche des enregistrements sélectionnés selon un critère.
Voit tu quelque chose pour me depanner ?
merci
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
eztJcMfKEHA.3472@TK2MSFTNGP09.phx.gbl...
Salut,
"Le méruvien"
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement
suivant, ou précédent,
Comment faire pour desactiver l'un ou l'autre quand je suis au 1er
enregistrement ou au dernier.
Ex: if [enregistrement actuel ] - 1 est null, .......
bouton.enabledúlse
ou l'inverse
Une des nombreuses posibilités:
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#BtnNavig
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Bonjour Stone, j'ai été sur le site, et j'ai donc fait comme il est écrit, ça marche pour le bouton précédent, mais pas pour le suivant, j'ai essayé les 2 méthodes 1)
Private Sub Form_Current()
btnPrécédent.Enabled = CBool(Me.CurrentRecord - 1) btnSuivant.Enabled = Not Me.NewRecord End Sub Cette méthode ne désactive pas le bouton.
Celle là le désactive a l'ouverture du formulaire.
Mon formulaires affiche des enregistrements sélectionnés selon un critère. Voit tu quelque chose pour me depanner ? merci
"3stone" a écrit dans le message de news:
Salut,
"Le méruvien"
Dans mon formulaire, j'ai mis un bouton pour afficher l'enregistrement suivant, ou précédent, Comment faire pour desactiver l'un ou l'autre quand je suis au 1er enregistrement ou au dernier. Ex: if [enregistrement actuel ] - 1 est null, ....... bouton.enabledúlse
ou l'inverse
Une des nombreuses posibilités: http://mypage.bluewin.ch/w.stucki/Formulaires.htm#BtnNavig
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Mais, on ne peut pas désactiver le contrôle qui a le focus! Donc, avant de le désactiver, il faut envoyer le focus ailleurs, par exemple dans le premier champ...
Ceci, fonctionne donc lorsque tu clique sur l'un des boutons... Pour que cela désactive le bouton "précédent" dès l'ouverture du formulaire, il faudrait faire la même chose dans l'événement "Form_Open" (ou le désactiver d'office, il serait activé sur le premier clic "suivant")
Tu change donc de méthode, et tu mets cela "Sur activation" du formulaire, cet événement, comme tu le sais, est exécuté à chaque changement d'enregistrement.
Quelque chose comme ceci:
'Déplacer le focus sur le premier champ Me!Champ1.SetFocus
'Activer / désactiver les boutons With Me .bt_Precedent.Enabled = (.CurrentRecord > 1) .bt_Suivant.Enabled = (.CurrentRecord < .RecordsetClone.RecordCount) And Not .NewRecord End With
Et pour que cela fonctionne correctement dès l'ouverture du formulaire ainsi qu'avec 0 enregistrement, tu ajoute "Sur chargement" du formulaire:
With Me.RecordsetClone If .RecordCount > 0 Then .MoveLast End With
Cela te va ?
NB: Répondre lorsque l'on rentre à plus de 3 heures du mat, c'est pas consciencieux cà ?
Aie aie, je vais encore avoir droit à une remarque "CFIèsque"
;-)))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Mais, on ne peut pas désactiver le contrôle qui a le focus!
Donc, avant de le désactiver, il faut envoyer le focus ailleurs,
par exemple dans le premier champ...
Ceci, fonctionne donc lorsque tu clique sur l'un des boutons...
Pour que cela désactive le bouton "précédent" dès l'ouverture du formulaire,
il faudrait faire la même chose dans l'événement "Form_Open"
(ou le désactiver d'office, il serait activé sur le premier clic "suivant")
Tu change donc de méthode, et tu mets cela "Sur activation" du formulaire,
cet événement, comme tu le sais, est exécuté à chaque changement d'enregistrement.
Quelque chose comme ceci:
'Déplacer le focus sur le premier champ
Me!Champ1.SetFocus
'Activer / désactiver les boutons
With Me
.bt_Precedent.Enabled = (.CurrentRecord > 1)
.bt_Suivant.Enabled = (.CurrentRecord < .RecordsetClone.RecordCount) And Not .NewRecord
End With
Et pour que cela fonctionne correctement dès l'ouverture du formulaire
ainsi qu'avec 0 enregistrement, tu ajoute "Sur chargement" du formulaire:
With Me.RecordsetClone
If .RecordCount > 0 Then .MoveLast
End With
Cela te va ?
NB: Répondre lorsque l'on rentre à plus de 3 heures du mat,
c'est pas consciencieux cà ?
Aie aie, je vais encore avoir droit à une remarque "CFIèsque"
;-)))
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Mais, on ne peut pas désactiver le contrôle qui a le focus! Donc, avant de le désactiver, il faut envoyer le focus ailleurs, par exemple dans le premier champ...
Ceci, fonctionne donc lorsque tu clique sur l'un des boutons... Pour que cela désactive le bouton "précédent" dès l'ouverture du formulaire, il faudrait faire la même chose dans l'événement "Form_Open" (ou le désactiver d'office, il serait activé sur le premier clic "suivant")
Tu change donc de méthode, et tu mets cela "Sur activation" du formulaire, cet événement, comme tu le sais, est exécuté à chaque changement d'enregistrement.
Quelque chose comme ceci:
'Déplacer le focus sur le premier champ Me!Champ1.SetFocus
'Activer / désactiver les boutons With Me .bt_Precedent.Enabled = (.CurrentRecord > 1) .bt_Suivant.Enabled = (.CurrentRecord < .RecordsetClone.RecordCount) And Not .NewRecord End With
Et pour que cela fonctionne correctement dès l'ouverture du formulaire ainsi qu'avec 0 enregistrement, tu ajoute "Sur chargement" du formulaire:
With Me.RecordsetClone If .RecordCount > 0 Then .MoveLast End With
Cela te va ?
NB: Répondre lorsque l'on rentre à plus de 3 heures du mat, c'est pas consciencieux cà ?
Aie aie, je vais encore avoir droit à une remarque "CFIèsque"
;-)))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Le méruvien
bonjour, et merci Stone, je vais essayer ça, effectivement 3h30 c'est tôt ou tard, mais y a pas d'heure pour les braves.
Mais, on ne peut pas désactiver le contrôle qui a le focus! Donc, avant de le désactiver, il faut envoyer le focus ailleurs, par exemple dans le premier champ...
Ceci, fonctionne donc lorsque tu clique sur l'un des boutons... Pour que cela désactive le bouton "précédent" dès l'ouverture du formulaire,
il faudrait faire la même chose dans l'événement "Form_Open" (ou le désactiver d'office, il serait activé sur le premier clic "suivant")
Tu change donc de méthode, et tu mets cela "Sur activation" du formulaire, cet événement, comme tu le sais, est exécuté à chaque changement d'enregistrement.
Quelque chose comme ceci:
'Déplacer le focus sur le premier champ Me!Champ1.SetFocus
'Activer / désactiver les boutons With Me .bt_Precedent.Enabled = (.CurrentRecord > 1) .bt_Suivant.Enabled = (.CurrentRecord < .RecordsetClone.RecordCount) And Not .NewRecord
End With
Et pour que cela fonctionne correctement dès l'ouverture du formulaire ainsi qu'avec 0 enregistrement, tu ajoute "Sur chargement" du formulaire:
With Me.RecordsetClone If .RecordCount > 0 Then .MoveLast End With
Cela te va ?
NB: Répondre lorsque l'on rentre à plus de 3 heures du mat, c'est pas consciencieux cà ?
Aie aie, je vais encore avoir droit à une remarque "CFIèsque"
;-)))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
bonjour, et merci Stone, je vais essayer ça, effectivement 3h30 c'est tôt ou
tard, mais y a pas d'heure pour les braves.
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
#yaH1UmKEHA.3332@TK2MSFTNGP10.phx.gbl...
Mais, on ne peut pas désactiver le contrôle qui a le focus!
Donc, avant de le désactiver, il faut envoyer le focus ailleurs,
par exemple dans le premier champ...
Ceci, fonctionne donc lorsque tu clique sur l'un des boutons...
Pour que cela désactive le bouton "précédent" dès l'ouverture du
formulaire,
il faudrait faire la même chose dans l'événement "Form_Open"
(ou le désactiver d'office, il serait activé sur le premier clic
"suivant")
Tu change donc de méthode, et tu mets cela "Sur activation" du formulaire,
cet événement, comme tu le sais, est exécuté à chaque changement
d'enregistrement.
Quelque chose comme ceci:
'Déplacer le focus sur le premier champ
Me!Champ1.SetFocus
'Activer / désactiver les boutons
With Me
.bt_Precedent.Enabled = (.CurrentRecord > 1)
.bt_Suivant.Enabled = (.CurrentRecord < .RecordsetClone.RecordCount)
And Not .NewRecord
End With
Et pour que cela fonctionne correctement dès l'ouverture du formulaire
ainsi qu'avec 0 enregistrement, tu ajoute "Sur chargement" du formulaire:
With Me.RecordsetClone
If .RecordCount > 0 Then .MoveLast
End With
Cela te va ?
NB: Répondre lorsque l'on rentre à plus de 3 heures du mat,
c'est pas consciencieux cà ?
Aie aie, je vais encore avoir droit à une remarque "CFIèsque"
;-)))
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Mais, on ne peut pas désactiver le contrôle qui a le focus! Donc, avant de le désactiver, il faut envoyer le focus ailleurs, par exemple dans le premier champ...
Ceci, fonctionne donc lorsque tu clique sur l'un des boutons... Pour que cela désactive le bouton "précédent" dès l'ouverture du formulaire,
il faudrait faire la même chose dans l'événement "Form_Open" (ou le désactiver d'office, il serait activé sur le premier clic "suivant")
Tu change donc de méthode, et tu mets cela "Sur activation" du formulaire, cet événement, comme tu le sais, est exécuté à chaque changement d'enregistrement.
Quelque chose comme ceci:
'Déplacer le focus sur le premier champ Me!Champ1.SetFocus
'Activer / désactiver les boutons With Me .bt_Precedent.Enabled = (.CurrentRecord > 1) .bt_Suivant.Enabled = (.CurrentRecord < .RecordsetClone.RecordCount) And Not .NewRecord
End With
Et pour que cela fonctionne correctement dès l'ouverture du formulaire ainsi qu'avec 0 enregistrement, tu ajoute "Sur chargement" du formulaire:
With Me.RecordsetClone If .RecordCount > 0 Then .MoveLast End With
Cela te va ?
NB: Répondre lorsque l'on rentre à plus de 3 heures du mat, c'est pas consciencieux cà ?
Aie aie, je vais encore avoir droit à une remarque "CFIèsque"
;-)))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------