Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il faut
donc que je sauve le formulaire pour que l'étiquette garde sa modification.
J'ai écris le bout de code ci-dessous. L'étiquette se modifie effectivement
et le formulaire se sauve effectivement aussi (J'ai essayé le code en
changeant l'étiquette de place, et après le code, fermeture et nouvelle
ouverture du formulaire, l'étiquette est à la nouvelle place). Toutefois,
lorsque j'ouvre le formulaire à nouveau, le contenu de l'étiquette n'a pas
changé, lui. Il est revenu à sa valeur initiale.
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
Eric
Bonjour Jean-Marc,
(Sous toutes réserves...)
Ce que tu veux faire, d'après ce que j'ai compris, c'est de modifier la valeur de ton contrôle Mandat(label) en lui affectant la chaine "Mandat " suivi du numéro de mandat sur lequel tu es positionné. Si c'est le cas, je procèderai ainsi: Définir la propriété Remarque ( Tag en US) du contrôle Mandat à la valeur Mandat.
Sur l'évènement Ouverture du formulaire (ou encore Chargement) Private Sub Form_Open(Cancel As Integer) Me.Mandat.Caption = Me.Mandat.Tag & chr(32) & NrMandat End Sub
A la question Pourquoi la modification n'est-elle pas conservée, j'émets l'hypothèse que la propriété Caption (Légende) d'un label est 'dynamique' à savoir qu'on peut la modifier via du code lorsque le formulaire est ouvert en mode *Exploitation* mais que même après sauvegarde du formulaire, la propriété Légende conserve la valeur affectée au moment de la création du contrôle.
Pour changer définitivement la valeur de la légende du contrôle Label via du code, il faut passer par le mode *Design* (Modification/Création) - du moins, c'est ce que je crois.
Ainsi, la procédure suivante mis sur l'évènement Clic d'un bouton d'un formulaire va modifier 'définitivement' la propriété Caption du contrôle Mandat.(Rem : pas de procédure évènementielle sur Chargement ou Ouverture du formulaire Encodage des PP visant à modifier la légende de Mandat, évidemment)
Private Sub Commande0_Click() Dim f As Form, ctl As Control DoCmd.OpenForm "Encodage des PP", acDesign, , , , acHidden Set f = Forms("Encodage des PP") Set ctl = f.Controls("Mandat") ' la propriété Caption de Mandat est initialement 'Mandat' ' lors de la création du formulaire Encodage des PP ctl.Caption = "Cette légende devient-elle définitive ?" DoCmd.Close acForm, f.Name, acSaveYes Set ctl = Nothing: Set f = Nothing DoCmd.OpenForm "Encodage des PP" End Sub
Attendons les experts qui pourront infirmer/confirmer mon laïus.
Salut à toutes et à tous,
Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il faut donc que je sauve le formulaire pour que l'étiquette garde sa modification. J'ai écris le bout de code ci-dessous. L'étiquette se modifie effectivement et le formulaire se sauve effectivement aussi (J'ai essayé le code en changeant l'étiquette de place, et après le code, fermeture et nouvelle ouverture du formulaire, l'étiquette est à la nouvelle place). Toutefois, lorsque j'ouvre le formulaire à nouveau, le contenu de l'étiquette n'a pas changé, lui. Il est revenu à sa valeur initiale.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour Jean-Marc,
(Sous toutes réserves...)
Ce que tu veux faire, d'après ce que j'ai compris, c'est de modifier la
valeur de ton contrôle Mandat(label) en lui affectant la chaine "Mandat
" suivi du numéro de mandat sur lequel tu es positionné. Si c'est le
cas, je procèderai ainsi:
Définir la propriété Remarque ( Tag en US) du contrôle Mandat à la
valeur Mandat.
Sur l'évènement Ouverture du formulaire (ou encore Chargement)
Private Sub Form_Open(Cancel As Integer)
Me.Mandat.Caption = Me.Mandat.Tag & chr(32) & NrMandat
End Sub
A la question Pourquoi la modification n'est-elle pas conservée, j'émets
l'hypothèse que la propriété Caption (Légende) d'un label est
'dynamique' à savoir qu'on peut la modifier via du code lorsque le
formulaire est ouvert en mode *Exploitation* mais que même après
sauvegarde du formulaire, la propriété Légende conserve la valeur
affectée au moment de la création du contrôle.
Pour changer définitivement la valeur de la légende du contrôle Label
via du code, il faut passer par le mode *Design* (Modification/Création)
- du moins, c'est ce que je crois.
Ainsi, la procédure suivante mis sur l'évènement Clic d'un bouton d'un
formulaire va modifier 'définitivement' la propriété Caption du contrôle
Mandat.(Rem : pas de procédure évènementielle sur Chargement ou
Ouverture du formulaire Encodage des PP visant à modifier la légende de
Mandat, évidemment)
Private Sub Commande0_Click()
Dim f As Form, ctl As Control
DoCmd.OpenForm "Encodage des PP", acDesign, , , , acHidden
Set f = Forms("Encodage des PP")
Set ctl = f.Controls("Mandat")
' la propriété Caption de Mandat est initialement 'Mandat'
' lors de la création du formulaire Encodage des PP
ctl.Caption = "Cette légende devient-elle définitive ?"
DoCmd.Close acForm, f.Name, acSaveYes
Set ctl = Nothing: Set f = Nothing
DoCmd.OpenForm "Encodage des PP"
End Sub
Attendons les experts qui pourront infirmer/confirmer mon laïus.
Salut à toutes et à tous,
Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il faut
donc que je sauve le formulaire pour que l'étiquette garde sa modification.
J'ai écris le bout de code ci-dessous. L'étiquette se modifie effectivement
et le formulaire se sauve effectivement aussi (J'ai essayé le code en
changeant l'étiquette de place, et après le code, fermeture et nouvelle
ouverture du formulaire, l'étiquette est à la nouvelle place). Toutefois,
lorsque j'ouvre le formulaire à nouveau, le contenu de l'étiquette n'a pas
changé, lui. Il est revenu à sa valeur initiale.
Ce que tu veux faire, d'après ce que j'ai compris, c'est de modifier la valeur de ton contrôle Mandat(label) en lui affectant la chaine "Mandat " suivi du numéro de mandat sur lequel tu es positionné. Si c'est le cas, je procèderai ainsi: Définir la propriété Remarque ( Tag en US) du contrôle Mandat à la valeur Mandat.
Sur l'évènement Ouverture du formulaire (ou encore Chargement) Private Sub Form_Open(Cancel As Integer) Me.Mandat.Caption = Me.Mandat.Tag & chr(32) & NrMandat End Sub
A la question Pourquoi la modification n'est-elle pas conservée, j'émets l'hypothèse que la propriété Caption (Légende) d'un label est 'dynamique' à savoir qu'on peut la modifier via du code lorsque le formulaire est ouvert en mode *Exploitation* mais que même après sauvegarde du formulaire, la propriété Légende conserve la valeur affectée au moment de la création du contrôle.
Pour changer définitivement la valeur de la légende du contrôle Label via du code, il faut passer par le mode *Design* (Modification/Création) - du moins, c'est ce que je crois.
Ainsi, la procédure suivante mis sur l'évènement Clic d'un bouton d'un formulaire va modifier 'définitivement' la propriété Caption du contrôle Mandat.(Rem : pas de procédure évènementielle sur Chargement ou Ouverture du formulaire Encodage des PP visant à modifier la légende de Mandat, évidemment)
Private Sub Commande0_Click() Dim f As Form, ctl As Control DoCmd.OpenForm "Encodage des PP", acDesign, , , , acHidden Set f = Forms("Encodage des PP") Set ctl = f.Controls("Mandat") ' la propriété Caption de Mandat est initialement 'Mandat' ' lors de la création du formulaire Encodage des PP ctl.Caption = "Cette légende devient-elle définitive ?" DoCmd.Close acForm, f.Name, acSaveYes Set ctl = Nothing: Set f = Nothing DoCmd.OpenForm "Encodage des PP" End Sub
Attendons les experts qui pourront infirmer/confirmer mon laïus.
Salut à toutes et à tous,
Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il faut donc que je sauve le formulaire pour que l'étiquette garde sa modification. J'ai écris le bout de code ci-dessous. L'étiquette se modifie effectivement et le formulaire se sauve effectivement aussi (J'ai essayé le code en changeant l'étiquette de place, et après le code, fermeture et nouvelle ouverture du formulaire, l'étiquette est à la nouvelle place). Toutefois, lorsque j'ouvre le formulaire à nouveau, le contenu de l'étiquette n'a pas changé, lui. Il est revenu à sa valeur initiale.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Jean-Marc
En effet, ça fonctionne TRES bien,
Merci, Jean-Marc
"Eric" a écrit dans le message de news: uw$
Bonjour Jean-Marc,
(Sous toutes réserves...)
Ce que tu veux faire, d'après ce que j'ai compris, c'est de modifier la valeur de ton contrôle Mandat(label) en lui affectant la chaine "Mandat " suivi du numéro de mandat sur lequel tu es positionné. Si c'est le cas, je procèderai ainsi: Définir la propriété Remarque ( Tag en US) du contrôle Mandat à la valeur Mandat.
Sur l'évènement Ouverture du formulaire (ou encore Chargement) Private Sub Form_Open(Cancel As Integer) Me.Mandat.Caption = Me.Mandat.Tag & chr(32) & NrMandat End Sub
A la question Pourquoi la modification n'est-elle pas conservée, j'émets l'hypothèse que la propriété Caption (Légende) d'un label est 'dynamique' à savoir qu'on peut la modifier via du code lorsque le formulaire est ouvert en mode *Exploitation* mais que même après sauvegarde du formulaire, la propriété Légende conserve la valeur affectée au moment de la création du contrôle.
Pour changer définitivement la valeur de la légende du contrôle Label via du code, il faut passer par le mode *Design* (Modification/Création) - du moins, c'est ce que je crois.
Ainsi, la procédure suivante mis sur l'évènement Clic d'un bouton d'un formulaire va modifier 'définitivement' la propriété Caption du contrôle Mandat.(Rem : pas de procédure évènementielle sur Chargement ou Ouverture du formulaire Encodage des PP visant à modifier la légende de Mandat, évidemment)
Private Sub Commande0_Click() Dim f As Form, ctl As Control DoCmd.OpenForm "Encodage des PP", acDesign, , , , acHidden Set f = Forms("Encodage des PP") Set ctl = f.Controls("Mandat") ' la propriété Caption de Mandat est initialement 'Mandat' ' lors de la création du formulaire Encodage des PP ctl.Caption = "Cette légende devient-elle définitive ?" DoCmd.Close acForm, f.Name, acSaveYes Set ctl = Nothing: Set f = Nothing DoCmd.OpenForm "Encodage des PP" End Sub
Attendons les experts qui pourront infirmer/confirmer mon laïus.
Salut à toutes et à tous,
Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il faut donc que je sauve le formulaire pour que l'étiquette garde sa modification. J'ai écris le bout de code ci-dessous. L'étiquette se modifie effectivement et le formulaire se sauve effectivement aussi (J'ai essayé le code en changeant l'étiquette de place, et après le code, fermeture et nouvelle ouverture du formulaire, l'étiquette est à la nouvelle place). Toutefois, lorsque j'ouvre le formulaire à nouveau, le contenu de l'étiquette n'a pas changé, lui. Il est revenu à sa valeur initiale.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
En effet, ça fonctionne TRES bien,
Merci,
Jean-Marc
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
uw$zVAiQHHA.2252@TK2MSFTNGP02.phx.gbl...
Bonjour Jean-Marc,
(Sous toutes réserves...)
Ce que tu veux faire, d'après ce que j'ai compris, c'est de modifier la
valeur de ton contrôle Mandat(label) en lui affectant la chaine "Mandat "
suivi du numéro de mandat sur lequel tu es positionné. Si c'est le cas, je
procèderai ainsi:
Définir la propriété Remarque ( Tag en US) du contrôle Mandat à la valeur
Mandat.
Sur l'évènement Ouverture du formulaire (ou encore Chargement)
Private Sub Form_Open(Cancel As Integer)
Me.Mandat.Caption = Me.Mandat.Tag & chr(32) & NrMandat
End Sub
A la question Pourquoi la modification n'est-elle pas conservée, j'émets
l'hypothèse que la propriété Caption (Légende) d'un label est 'dynamique'
à savoir qu'on peut la modifier via du code lorsque le formulaire est
ouvert en mode *Exploitation* mais que même après sauvegarde du
formulaire, la propriété Légende conserve la valeur affectée au moment de
la création du contrôle.
Pour changer définitivement la valeur de la légende du contrôle Label via
du code, il faut passer par le mode *Design* (Modification/Création) - du
moins, c'est ce que je crois.
Ainsi, la procédure suivante mis sur l'évènement Clic d'un bouton d'un
formulaire va modifier 'définitivement' la propriété Caption du contrôle
Mandat.(Rem : pas de procédure évènementielle sur Chargement ou Ouverture
du formulaire Encodage des PP visant à modifier la légende de Mandat,
évidemment)
Private Sub Commande0_Click()
Dim f As Form, ctl As Control
DoCmd.OpenForm "Encodage des PP", acDesign, , , , acHidden
Set f = Forms("Encodage des PP")
Set ctl = f.Controls("Mandat")
' la propriété Caption de Mandat est initialement 'Mandat'
' lors de la création du formulaire Encodage des PP
ctl.Caption = "Cette légende devient-elle définitive ?"
DoCmd.Close acForm, f.Name, acSaveYes
Set ctl = Nothing: Set f = Nothing
DoCmd.OpenForm "Encodage des PP"
End Sub
Attendons les experts qui pourront infirmer/confirmer mon laïus.
Salut à toutes et à tous,
Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il
faut donc que je sauve le formulaire pour que l'étiquette garde sa
modification.
J'ai écris le bout de code ci-dessous. L'étiquette se modifie
effectivement et le formulaire se sauve effectivement aussi (J'ai essayé
le code en changeant l'étiquette de place, et après le code, fermeture et
nouvelle ouverture du formulaire, l'étiquette est à la nouvelle place).
Toutefois, lorsque j'ouvre le formulaire à nouveau, le contenu de
l'étiquette n'a pas changé, lui. Il est revenu à sa valeur initiale.
Ce que tu veux faire, d'après ce que j'ai compris, c'est de modifier la valeur de ton contrôle Mandat(label) en lui affectant la chaine "Mandat " suivi du numéro de mandat sur lequel tu es positionné. Si c'est le cas, je procèderai ainsi: Définir la propriété Remarque ( Tag en US) du contrôle Mandat à la valeur Mandat.
Sur l'évènement Ouverture du formulaire (ou encore Chargement) Private Sub Form_Open(Cancel As Integer) Me.Mandat.Caption = Me.Mandat.Tag & chr(32) & NrMandat End Sub
A la question Pourquoi la modification n'est-elle pas conservée, j'émets l'hypothèse que la propriété Caption (Légende) d'un label est 'dynamique' à savoir qu'on peut la modifier via du code lorsque le formulaire est ouvert en mode *Exploitation* mais que même après sauvegarde du formulaire, la propriété Légende conserve la valeur affectée au moment de la création du contrôle.
Pour changer définitivement la valeur de la légende du contrôle Label via du code, il faut passer par le mode *Design* (Modification/Création) - du moins, c'est ce que je crois.
Ainsi, la procédure suivante mis sur l'évènement Clic d'un bouton d'un formulaire va modifier 'définitivement' la propriété Caption du contrôle Mandat.(Rem : pas de procédure évènementielle sur Chargement ou Ouverture du formulaire Encodage des PP visant à modifier la légende de Mandat, évidemment)
Private Sub Commande0_Click() Dim f As Form, ctl As Control DoCmd.OpenForm "Encodage des PP", acDesign, , , , acHidden Set f = Forms("Encodage des PP") Set ctl = f.Controls("Mandat") ' la propriété Caption de Mandat est initialement 'Mandat' ' lors de la création du formulaire Encodage des PP ctl.Caption = "Cette légende devient-elle définitive ?" DoCmd.Close acForm, f.Name, acSaveYes Set ctl = Nothing: Set f = Nothing DoCmd.OpenForm "Encodage des PP" End Sub
Attendons les experts qui pourront infirmer/confirmer mon laïus.
Salut à toutes et à tous,
Dans un code vba, je change une étiquette (Label) nommée 'Mandat'. Il faut donc que je sauve le formulaire pour que l'étiquette garde sa modification. J'ai écris le bout de code ci-dessous. L'étiquette se modifie effectivement et le formulaire se sauve effectivement aussi (J'ai essayé le code en changeant l'étiquette de place, et après le code, fermeture et nouvelle ouverture du formulaire, l'étiquette est à la nouvelle place). Toutefois, lorsque j'ouvre le formulaire à nouveau, le contenu de l'étiquette n'a pas changé, lui. Il est revenu à sa valeur initiale.