Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lignes en colonne

7 réponses
Avatar
Jac
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve rien
le concernant...

J'ai une table avec départements français et un champ boléen. Dans un
formulaire, je coche ou décoche les champs boléens et je me sers de
cette sélection "boléenne" pour filtrer les départements à afficher
dans un état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
indiquerait la liste des départements à l'origine de la sélection
imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac

7 réponses

Avatar
Fabien
Jac a écrit :
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve rien
le concernant...

J'ai une table avec départements français et un champ boléen. Dans un
formulaire, je coche ou décoche les champs boléens et je me sers de
cette sélection "boléenne" pour filtrer les départements à afficher dans
un état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
indiquerait la liste des départements à l'origine de la sélection imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac




Salut,
Si tu travail en Access 2003 tu peux, lors de l'appel de l'état, passer
des arguments en derniére position
et les reccuperer dans l'etat par la variable Openargs. Reste a affecter
cette variable a une zone de texte
@+
Avatar
Jac
Merci Fabien, mais celui qui doit utiliser les résultats est en XP...

Mais je ne connais pas du tout le concept que tu évoques. Aurais-tu un
exemple à consulter ?

Jac a écrit :
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve rien le
concernant...

J'ai une table avec départements français et un champ boléen. Dans un
formulaire, je coche ou décoche les champs boléens et je me sers de cette
sélection "boléenne" pour filtrer les départements à afficher dans un état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
indiquerait la liste des départements à l'origine de la sélection imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac




Salut,
Si tu travail en Access 2003 tu peux, lors de l'appel de l'état, passer des
arguments en derniére position
et les reccuperer dans l'etat par la variable Openargs. Reste a affecter
cette variable a une zone de texte
@+


Avatar
Fabien
Jac a écrit :
Merci Fabien, mais celui qui doit utiliser les résultats est en XP...

Mais je ne connais pas du tout le concept que tu évoques. Aurais-tu un
exemple à consulter ?

Jac a écrit :
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve
rien le concernant...

J'ai une table avec départements français et un champ boléen. Dans un
formulaire, je coche ou décoche les champs boléens et je me sers de
cette sélection "boléenne" pour filtrer les départements à afficher
dans un état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
indiquerait la liste des départements à l'origine de la sélection
imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac




Salut,
Si tu travail en Access 2003 tu peux, lors de l'appel de l'état,
passer des arguments en derniére position
et les reccuperer dans l'etat par la variable Openargs. Reste a
affecter cette variable a une zone de texte
@+






Extrait de l'aide en ligne ;-) Bonne lecture
"
Méthode OpenReport
Voir aussiS'applique àExempleDétailsLa méthode OpenReport exécute
l'action OuvrirEtat dans Visual Basic.

expression.OpenReport(ReportName, View, FilterName, WhereCondition,
WindowMode, OpenArgs)
expression Obligatoire. Expression qui renvoie un objet DoCmd.

ReportName Variant requis. Une expression chaîne qui est le nom
valide d'un état dans la base de données en cours. Si vous exécutez un
code Visual Basic contenant la méthode OpenReport dans une base de
données bibliothèque, Microsoft Access recherche l'état sous ce nom,
d'abord dans la base de données bibliothèque, puis dans la base de
données en cours.

View AcView facultatif. La vue à appliquer à l'état spécifié.

AcView peut être une de ces constantes AcView.
acViewDesign
acViewNormal défaut Imprime l'état immédiatement.
acViewPivotChart Non prise en charge.
acViewPivotTable Non prise en charge.
acViewPreview

FilterName Variant facultatif. Une expression chaîne qui est le nom
valide d'une requête dans la base de données en cours.

WhereCondition Variant facultatif. Une expression chaîne qui est une
clause WHERE SQL valide sans le mot WHERE.

ModeFenêtre AcWindowMode facultatif. Le mode dans lequel s'ouvre le
formulaire.

AcWindowMode peut être une de ces constantes AcWindowMode.
acDialog Les propriétés Modal et PopUp du formulaire sont réglées sur Yes.
acHidden Le formulaire est masqué.
acIcon Le formulaire s'ouvre sous forme réduite dans la barre des tâches
Windows.
acWindowNormal par défaut Le formulaire est dans le mode défini par ses
propriétés

OpenArgs Variant facultatif. Définit la propriété OpenArgs.

Remarques
Pour plus d'informations sur le mode de fonctionnement de l'action et de
ses arguments, reportez-vous à la rubrique Action.

L'argument WhereCondition peut comporter jusqu'à 32 768 caractères
(contrairement à l'argument de l'action Where Condition de la fenêtre
Macro, dont la longueur ne peut excéder 256 caractères).

Vous pouvez laisser un argument facultatif vierge au milieu de la
syntaxe, mais vous devez inclure la virgule de l'argument. Si vous
laissez un ou plusieurs arguments de fin vierges, n'utilisez pas de
virgule à la suite des arguments spécifiés.

Exemple
Cet exemple imprime un État des ventes à l'aide de la requête existante
Filtre État.

DoCmd.OpenReport "Sales Report", acViewNormal, "Report Filter"
"
et
"
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

Dans l'exemple qui suit, la méthode FindFirst est utilisée pour
localiser l'employé nommé dans la propriété OpenArgs.

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Dim strEmployeeName As String
strEmployeeName = Me.OpenArgs
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.FindFirst "LastName = '" & strEmployeeName & "'"
If Not RS.NoMatch Then
Me.Bookmark = RS.Bookmark
End If
End If
End Sub
Avatar
Jac
Mille plates excuses... Merci pour la lecture.
Mais pour le moment je ne vois pas comment mettre en place ce que tu
proposes pour répondre à mon besoin.

Jac a écrit :
Merci Fabien, mais celui qui doit utiliser les résultats est en XP...

Mais je ne connais pas du tout le concept que tu évoques. Aurais-tu un
exemple à consulter ?

Jac a écrit :
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve rien
le concernant...

J'ai une table avec départements français et un champ boléen. Dans un
formulaire, je coche ou décoche les champs boléens et je me sers de cette
sélection "boléenne" pour filtrer les départements à afficher dans un
état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
indiquerait la liste des départements à l'origine de la sélection
imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac




Salut,
Si tu travail en Access 2003 tu peux, lors de l'appel de l'état, passer
des arguments en derniére position
et les reccuperer dans l'etat par la variable Openargs. Reste a affecter
cette variable a une zone de texte
@+






Extrait de l'aide en ligne ;-) Bonne lecture
"
Méthode OpenReport
Voir aussiS'applique àExempleDétailsLa méthode OpenReport exécute l'action
OuvrirEtat dans Visual Basic.

expression.OpenReport(ReportName, View, FilterName, WhereCondition,
WindowMode, OpenArgs)
expression Obligatoire. Expression qui renvoie un objet DoCmd.

ReportName Variant requis. Une expression chaîne qui est le nom valide
d'un état dans la base de données en cours. Si vous exécutez un code Visual
Basic contenant la méthode OpenReport dans une base de données bibliothèque,
Microsoft Access recherche l'état sous ce nom, d'abord dans la base de
données bibliothèque, puis dans la base de données en cours.

View AcView facultatif. La vue à appliquer à l'état spécifié.

AcView peut être une de ces constantes AcView.
acViewDesign
acViewNormal défaut Imprime l'état immédiatement.
acViewPivotChart Non prise en charge.
acViewPivotTable Non prise en charge.
acViewPreview

FilterName Variant facultatif. Une expression chaîne qui est le nom
valide d'une requête dans la base de données en cours.

WhereCondition Variant facultatif. Une expression chaîne qui est une
clause WHERE SQL valide sans le mot WHERE.

ModeFenêtre AcWindowMode facultatif. Le mode dans lequel s'ouvre le
formulaire.

AcWindowMode peut être une de ces constantes AcWindowMode.
acDialog Les propriétés Modal et PopUp du formulaire sont réglées sur Yes.
acHidden Le formulaire est masqué.
acIcon Le formulaire s'ouvre sous forme réduite dans la barre des tâches
Windows.
acWindowNormal par défaut Le formulaire est dans le mode défini par ses
propriétés

OpenArgs Variant facultatif. Définit la propriété OpenArgs.

Remarques
Pour plus d'informations sur le mode de fonctionnement de l'action et de ses
arguments, reportez-vous à la rubrique Action.

L'argument WhereCondition peut comporter jusqu'à 32 768 caractères
(contrairement à l'argument de l'action Where Condition de la fenêtre Macro,
dont la longueur ne peut excéder 256 caractères).

Vous pouvez laisser un argument facultatif vierge au milieu de la syntaxe,
mais vous devez inclure la virgule de l'argument. Si vous laissez un ou
plusieurs arguments de fin vierges, n'utilisez pas de virgule à la suite des
arguments spécifiés.

Exemple
Cet exemple imprime un État des ventes à l'aide de la requête existante
Filtre État.

DoCmd.OpenReport "Sales Report", acViewNormal, "Report Filter"
"
et
"
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

Dans l'exemple qui suit, la méthode FindFirst est utilisée pour localiser
l'employé nommé dans la propriété OpenArgs.

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Dim strEmployeeName As String
strEmployeeName = Me.OpenArgs
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.FindFirst "LastName = '" & strEmployeeName & "'"
If Not RS.NoMatch Then
Me.Bookmark = RS.Bookmark
End If
End If
End Sub


Avatar
Fabien
Jac a écrit :
Mille plates excuses... Merci pour la lecture.
Mais pour le moment je ne vois pas comment mettre en place ce que tu
proposes pour répondre à mon besoin.

Jac a écrit :
Merci Fabien, mais celui qui doit utiliser les résultats est en XP...

Mais je ne connais pas du tout le concept que tu évoques. Aurais-tu
un exemple à consulter ?

Jac a écrit :
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve
rien le concernant...

J'ai une table avec départements français et un champ boléen. Dans
un formulaire, je coche ou décoche les champs boléens et je me sers
de cette sélection "boléenne" pour filtrer les départements à
afficher dans un état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ
qui indiquerait la liste des départements à l'origine de la
sélection imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac













Autre solution :
Dans ton etat tu ajoute une zone de texte nommée Mazonedetexte
Sur l'évenement Ouverture de ton etat tu mets
Dim Rst as dao.recordset
Set rst=Currentdb.openrecordset("Select [Numdep] from Tabledepartement
where Caseacochée = true ORDER By [Numdep];") ' on ne prend que les
enregistrements cochés
While not rst.eof
MazonedeTexte=Mazonedetexte & Rst("NumDep") & " + "
Rst.movenext
Wend
If Nz(Mazonedetexte,"")<>"" then
Mazonedetexte=Left(Mazonedetexte,len(mazonedetexte)-3) 'pour enevé le
dernier +
Mazonedetexte="Départements sélectionnées : " & Mazonedetexte
End if
Rst.close
Set Rst=nothing

@ tester
Bon Week
Avatar
Jac
... impec... Merci encore et bon week end.

Jac a écrit :
Mille plates excuses... Merci pour la lecture.
Mais pour le moment je ne vois pas comment mettre en place ce que tu
proposes pour répondre à mon besoin.

Jac a écrit :
Merci Fabien, mais celui qui doit utiliser les résultats est en XP...

Mais je ne connais pas du tout le concept que tu évoques. Aurais-tu un
exemple à consulter ?

Jac a écrit :
Bonjour à tous,

j'ai l'impression que le sujet a été traité, mais je ne (re)trouve rien
le concernant...

J'ai une table avec départements français et un champ boléen. Dans un
formulaire, je coche ou décoche les champs boléens et je me sers de
cette sélection "boléenne" pour filtrer les départements à afficher
dans un état.

Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
indiquerait la liste des départements à l'origine de la sélection
imprimée.
Exemple :
Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84

Merci d'avance à qui pourrait me mettre sur la voie.

Jac













Autre solution :
Dans ton etat tu ajoute une zone de texte nommée Mazonedetexte
Sur l'évenement Ouverture de ton etat tu mets
Dim Rst as dao.recordset
Set rst=Currentdb.openrecordset("Select [Numdep] from Tabledepartement where
Caseacochée = true ORDER By [Numdep];") ' on ne prend que les enregistrements
cochés
While not rst.eof
MazonedeTexte=Mazonedetexte & Rst("NumDep") & " + "
Rst.movenext
Wend
If Nz(Mazonedetexte,"")<>"" then
Mazonedetexte=Left(Mazonedetexte,len(mazonedetexte)-3) 'pour enevé le
dernier +
Mazonedetexte="Départements sélectionnées : " & Mazonedetexte
End if
Rst.close
Set Rst=nothing

@ tester
Bon Week


Avatar
Gilbert
Bonjour,

Précision : l'argument OpenArgs pour les états fonctionne avec la version
2002 aussi.

--
Cordialement,

Gilbert


"Fabien" a écrit dans le message de
news:%
Jac a écrit :
> Bonjour à tous,
>
> j'ai l'impression que le sujet a été traité, mais je ne (re)trouve rien
> le concernant...
>
> J'ai une table avec départements français et un champ boléen. Dans un
> formulaire, je coche ou décoche les champs boléens et je me sers de
> cette sélection "boléenne" pour filtrer les départements à afficher dans
> un état.
>
> Mais j'aimerais pouvoir afficher dans l'entête de l'état un champ qui
> indiquerait la liste des départements à l'origine de la sélection


imprimée.
> Exemple :
> Départements sélectionnées : 12 + 24 + 36 + 48 + 60 + 72 + 84
>
> Merci d'avance à qui pourrait me mettre sur la voie.
>
> Jac
>
>
Salut,
Si tu travail en Access 2003 tu peux, lors de l'appel de l'état, passer
des arguments en derniére position
et les reccuperer dans l'etat par la variable Openargs. Reste a affecter
cette variable a une zone de texte
@+