Modifier la valeur d'un contrôle d'état à l'ouverture
4 réponses
Paul Florent
Bonjour à tous,
sous Access 2007
J'ai un formulaire avec deux boutons me permettant d'ouvrir le même état
mais avec une condition "where" différente.
Je souhaiterais qu'en fonction du bouton avec lequel j'ouvre l'état
le contenu d'un contrôle zone de texte change de valeur.
Que dois je faire ?
Merci par avance pour votre aide
Paul
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
Fabien
Paul Florent wrote:
Bonjour à tous, sous Access 2007 J'ai un formulaire avec deux boutons me permettant d'ouvrir le même état mais avec une condition "where" différente. Je souhaiterais qu'en fonction du bouton avec lequel j'ouvre l'état le contenu d'un contrôle zone de texte change de valeur. Que dois je faire ? Merci par avance pour votre aide Paul
Salut, Sur depuis 2003 la commande docmd.openreport permet de passer des arguments. Ces arguments peuvent être recupere dans l'evenement sur ouverture de l'etat. Cf OpenArgS dans l'aide "Propriété OpenArgs Voir aussiS'applique àExempleDétailsDétermine l'expression chaîne spécifiée par l'argument OpenArgs de la méthode OpenForm ayant ouvert un formulaire. Variant en lecture/écriture.
expression.OpenArgs expression Obligatoire. Expression renvoyant l'un des objets figurant dans la liste Application.
Remarques Vous ne pouvez utiliser cette propriété que dans une macro ou dans Visual Basic avec la méthode OpenForm de l'objet DoCmd. Le paramètre de cette propriété n'est accessible qu'en lecture, quel que soit le mode.
Pour utiliser la propriété OpenArgs, ouvrez un formulaire à l'aide de la méthode OpenForm de l'objet DoCmd et attribuez l'expression chaîne souhaitée à l'argument OpenArgs. Vous pouvez ensuite utiliser la valeur de la propriété OpenArgs dans le code du formulaire tel qu'une procédure événementielle Open. Vous pouvez également faire référence à la valeur de cette propriété dans une macro telle qu'une macro Ouverture ou dans une expression (par exemple une expression définissant la propriété ControlSource d'un contrôle du formulaire
Supposons, par exemple, que le formulaire que vous ouvrez soit une liste de clients affichée en continu. Si vous souhaitez que l'enregistrement d'un client particulier devienne actif à l'ouverture du formulaire, vous pouvez attribuer le nom du client à la propriété OpenArgs et utiliser l'action FindRecord dans une macro Ouverture pour activer l'enregistrement dont vous avez spécifié le nom de client.
Exemple Dans l'exemple suivant, la propriété OpenArgs est utilisée pour ouvrir un formulaire Employés sur un enregistrement donné et illustre comment la méthode OpenForm sert à définir la propriété OpenArgs. Vous pouvez exécuter cette procédure comme vous le souhaitez (par exemple, après un événement AfterUpdate dans une boîte de dialogue personnalisée permettant d'entrer les nouvelles informations sur un employé).
Sub OpenToCallahan() DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, _ , "Callahan" End Sub
Sub Form_Open(Cancel As Integer) Dim strEmployeeName As String ' If OpenArgs property contains employee name, find ' corresponding employee record and display it on form. For ' example,if the OpenArgs property contains "Callahan", ' move to first "Callahan" record. strEmployeeName = Forms!Employees.OpenArgs If Len(strEmployeeName) > 0 Then DoCmd.GoToControl "LastName" DoCmd.FindRecord strEmployeeName, , True, , True, , True End If End Sub
" L'autre solution c'est d'affecter ton controle étiquette.caption = Forms![Nomduformulaire].[NomDelaZoneFiltre] dans l'événement Sur Ouverture de ton etat @+
Paul Florent wrote:
Bonjour à tous,
sous Access 2007
J'ai un formulaire avec deux boutons me permettant d'ouvrir le même état
mais avec une condition "where" différente.
Je souhaiterais qu'en fonction du bouton avec lequel j'ouvre l'état
le contenu d'un contrôle zone de texte change de valeur.
Que dois je faire ?
Merci par avance pour votre aide
Paul
Salut,
Sur depuis 2003 la commande docmd.openreport permet de passer des arguments.
Ces arguments peuvent être recupere dans l'evenement sur ouverture de
l'etat. Cf OpenArgS dans l'aide
"Propriété OpenArgs
Voir aussiS'applique àExempleDétailsDétermine l'expression chaîne
spécifiée par l'argument OpenArgs de la méthode OpenForm ayant ouvert un
formulaire. Variant en lecture/écriture.
expression.OpenArgs
expression Obligatoire. Expression renvoyant l'un des objets
figurant dans la liste Application.
Remarques
Vous ne pouvez utiliser cette propriété que dans une macro ou dans
Visual Basic avec la méthode OpenForm de l'objet DoCmd. Le paramètre de
cette propriété n'est accessible qu'en lecture, quel que soit le mode.
Pour utiliser la propriété OpenArgs, ouvrez un formulaire à l'aide de la
méthode OpenForm de l'objet DoCmd et attribuez l'expression chaîne
souhaitée à l'argument OpenArgs. Vous pouvez ensuite utiliser la valeur
de la propriété OpenArgs dans le code du formulaire tel qu'une procédure
événementielle Open. Vous pouvez également faire référence à la valeur
de cette propriété dans une macro telle qu'une macro Ouverture ou dans
une expression (par exemple une expression définissant la propriété
ControlSource d'un contrôle du formulaire
Supposons, par exemple, que le formulaire que vous ouvrez soit une liste
de clients affichée en continu. Si vous souhaitez que l'enregistrement
d'un client particulier devienne actif à l'ouverture du formulaire, vous
pouvez attribuer le nom du client à la propriété OpenArgs et utiliser
l'action FindRecord dans une macro Ouverture pour activer
l'enregistrement dont vous avez spécifié le nom de client.
Exemple
Dans l'exemple suivant, la propriété OpenArgs est utilisée pour ouvrir
un formulaire Employés sur un enregistrement donné et illustre comment
la méthode OpenForm sert à définir la propriété OpenArgs. Vous pouvez
exécuter cette procédure comme vous le souhaitez (par exemple, après un
événement AfterUpdate dans une boîte de dialogue personnalisée
permettant d'entrer les nouvelles informations sur un employé).
Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, _
, "Callahan"
End Sub
Sub Form_Open(Cancel As Integer)
Dim strEmployeeName As String
' If OpenArgs property contains employee name, find
' corresponding employee record and display it on form. For
' example,if the OpenArgs property contains "Callahan",
' move to first "Callahan" record.
strEmployeeName = Forms!Employees.OpenArgs
If Len(strEmployeeName) > 0 Then
DoCmd.GoToControl "LastName"
DoCmd.FindRecord strEmployeeName, , True, , True, , True
End If
End Sub
"
L'autre solution c'est d'affecter ton controle étiquette.caption =
Forms![Nomduformulaire].[NomDelaZoneFiltre] dans l'événement Sur
Ouverture de ton etat
@+
Bonjour à tous, sous Access 2007 J'ai un formulaire avec deux boutons me permettant d'ouvrir le même état mais avec une condition "where" différente. Je souhaiterais qu'en fonction du bouton avec lequel j'ouvre l'état le contenu d'un contrôle zone de texte change de valeur. Que dois je faire ? Merci par avance pour votre aide Paul
Salut, Sur depuis 2003 la commande docmd.openreport permet de passer des arguments. Ces arguments peuvent être recupere dans l'evenement sur ouverture de l'etat. Cf OpenArgS dans l'aide "Propriété OpenArgs Voir aussiS'applique àExempleDétailsDétermine l'expression chaîne spécifiée par l'argument OpenArgs de la méthode OpenForm ayant ouvert un formulaire. Variant en lecture/écriture.
expression.OpenArgs expression Obligatoire. Expression renvoyant l'un des objets figurant dans la liste Application.
Remarques Vous ne pouvez utiliser cette propriété que dans une macro ou dans Visual Basic avec la méthode OpenForm de l'objet DoCmd. Le paramètre de cette propriété n'est accessible qu'en lecture, quel que soit le mode.
Pour utiliser la propriété OpenArgs, ouvrez un formulaire à l'aide de la méthode OpenForm de l'objet DoCmd et attribuez l'expression chaîne souhaitée à l'argument OpenArgs. Vous pouvez ensuite utiliser la valeur de la propriété OpenArgs dans le code du formulaire tel qu'une procédure événementielle Open. Vous pouvez également faire référence à la valeur de cette propriété dans une macro telle qu'une macro Ouverture ou dans une expression (par exemple une expression définissant la propriété ControlSource d'un contrôle du formulaire
Supposons, par exemple, que le formulaire que vous ouvrez soit une liste de clients affichée en continu. Si vous souhaitez que l'enregistrement d'un client particulier devienne actif à l'ouverture du formulaire, vous pouvez attribuer le nom du client à la propriété OpenArgs et utiliser l'action FindRecord dans une macro Ouverture pour activer l'enregistrement dont vous avez spécifié le nom de client.
Exemple Dans l'exemple suivant, la propriété OpenArgs est utilisée pour ouvrir un formulaire Employés sur un enregistrement donné et illustre comment la méthode OpenForm sert à définir la propriété OpenArgs. Vous pouvez exécuter cette procédure comme vous le souhaitez (par exemple, après un événement AfterUpdate dans une boîte de dialogue personnalisée permettant d'entrer les nouvelles informations sur un employé).
Sub OpenToCallahan() DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, _ , "Callahan" End Sub
Sub Form_Open(Cancel As Integer) Dim strEmployeeName As String ' If OpenArgs property contains employee name, find ' corresponding employee record and display it on form. For ' example,if the OpenArgs property contains "Callahan", ' move to first "Callahan" record. strEmployeeName = Forms!Employees.OpenArgs If Len(strEmployeeName) > 0 Then DoCmd.GoToControl "LastName" DoCmd.FindRecord strEmployeeName, , True, , True, , True End If End Sub
" L'autre solution c'est d'affecter ton controle étiquette.caption = Forms![Nomduformulaire].[NomDelaZoneFiltre] dans l'événement Sur Ouverture de ton etat @+
Paul Florent
Pardonnez moi, je suis sous Access 2003.
Voici quelques précisions : Sur mon formulaire, j'ai deux boutons : "Liste de toutes les factures" et "Liste des factures payées" Ces deux boutons ouvrent le même formulaire, mais le second avec une condition where Pour le premier : DoCmd.OpenReport "E_Factures_Liste", acViewPreview Pour le second : DoCmd.OpenReport "E_Factures_Liste", acViewPreview, , "F_DatePaiement >" & 1
Je souhaiterais obtenir dans une zone de texte ou dans une étiquette de l'état "E_Factures_Liste", Le texte "Liste de toutes les factures" dans le premier cas et "Liste des factures payées" dans le second cas, mais je ne sais pas comment faire !!!
Merci de m'aider A+ Paul
Pardonnez moi, je suis sous Access 2003.
Voici quelques précisions :
Sur mon formulaire, j'ai deux boutons :
"Liste de toutes les factures" et
"Liste des factures payées"
Ces deux boutons ouvrent le même formulaire, mais le second avec une
condition where
Pour le premier : DoCmd.OpenReport "E_Factures_Liste", acViewPreview
Pour le second : DoCmd.OpenReport "E_Factures_Liste", acViewPreview, ,
"F_DatePaiement >" & 1
Je souhaiterais obtenir dans une zone de texte ou dans une étiquette de
l'état "E_Factures_Liste",
Le texte "Liste de toutes les factures" dans le premier cas et
"Liste des factures payées" dans le second cas,
mais je ne sais pas comment faire !!!
Voici quelques précisions : Sur mon formulaire, j'ai deux boutons : "Liste de toutes les factures" et "Liste des factures payées" Ces deux boutons ouvrent le même formulaire, mais le second avec une condition where Pour le premier : DoCmd.OpenReport "E_Factures_Liste", acViewPreview Pour le second : DoCmd.OpenReport "E_Factures_Liste", acViewPreview, , "F_DatePaiement >" & 1
Je souhaiterais obtenir dans une zone de texte ou dans une étiquette de l'état "E_Factures_Liste", Le texte "Liste de toutes les factures" dans le premier cas et "Liste des factures payées" dans le second cas, mais je ne sais pas comment faire !!!
Merci de m'aider A+ Paul
Fabien
Paul Florent wrote:
Pardonnez moi, je suis sous Access 2003.
Voici quelques précisions : Sur mon formulaire, j'ai deux boutons : "Liste de toutes les factures" et "Liste des factures payées" Ces deux boutons ouvrent le même formulaire, mais le second avec une condition where Pour le premier : DoCmd.OpenReport "E_Factures_Liste", acViewPreview Pour le second : DoCmd.OpenReport "E_Factures_Liste", acViewPreview, , "F_DatePaiement >" & 1
Je souhaiterais obtenir dans une zone de texte ou dans une étiquette de l'état "E_Factures_Liste", Le texte "Liste de toutes les factures" dans le premier cas et "Liste des factures payées" dans le second cas, mais je ne sais pas comment faire !!!
Merci de m'aider A+ Paul
Salut, Le contenu du filtre est dans me.filter, donc test. me.MonTitre=iif(nz(Me.filter,"")="","Liste de toutes les factures","Liste des Factures payées") si c'est dans l'evenement sur ouverture de l'etat ou dans la propriété source du controle MonTitre =iif(nz(Me.filter;"")="";"Liste de toutes les factures";"Liste des Factures payées") @+
Paul Florent wrote:
Pardonnez moi, je suis sous Access 2003.
Voici quelques précisions :
Sur mon formulaire, j'ai deux boutons :
"Liste de toutes les factures" et
"Liste des factures payées"
Ces deux boutons ouvrent le même formulaire, mais le second avec une
condition where
Pour le premier : DoCmd.OpenReport "E_Factures_Liste", acViewPreview
Pour le second : DoCmd.OpenReport "E_Factures_Liste", acViewPreview, ,
"F_DatePaiement >" & 1
Je souhaiterais obtenir dans une zone de texte ou dans une étiquette de
l'état "E_Factures_Liste",
Le texte "Liste de toutes les factures" dans le premier cas et
"Liste des factures payées" dans le second cas,
mais je ne sais pas comment faire !!!
Merci de m'aider
A+
Paul
Salut,
Le contenu du filtre est dans me.filter, donc test.
me.MonTitre=iif(nz(Me.filter,"")="","Liste de toutes les
factures","Liste des Factures payées") si c'est dans l'evenement sur
ouverture de l'etat
ou
dans la propriété source du controle MonTitre
=iif(nz(Me.filter;"")="";"Liste de toutes les factures";"Liste des
Factures payées")
@+
Voici quelques précisions : Sur mon formulaire, j'ai deux boutons : "Liste de toutes les factures" et "Liste des factures payées" Ces deux boutons ouvrent le même formulaire, mais le second avec une condition where Pour le premier : DoCmd.OpenReport "E_Factures_Liste", acViewPreview Pour le second : DoCmd.OpenReport "E_Factures_Liste", acViewPreview, , "F_DatePaiement >" & 1
Je souhaiterais obtenir dans une zone de texte ou dans une étiquette de l'état "E_Factures_Liste", Le texte "Liste de toutes les factures" dans le premier cas et "Liste des factures payées" dans le second cas, mais je ne sais pas comment faire !!!
Merci de m'aider A+ Paul
Salut, Le contenu du filtre est dans me.filter, donc test. me.MonTitre=iif(nz(Me.filter,"")="","Liste de toutes les factures","Liste des Factures payées") si c'est dans l'evenement sur ouverture de l'etat ou dans la propriété source du controle MonTitre =iif(nz(Me.filter;"")="";"Liste de toutes les factures";"Liste des Factures payées") @+
Paul Florent
Fabien, Merci pour ton aide, ça marche très bien. Paul
Fabien,
Merci pour ton aide,
ça marche très bien.
Paul