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

Impression Filtre multi-critère

1 réponse
Avatar
James
Bonjour,

J'ai cr=E9e un filtre multi-crit=E8re au sein d'un formulaire=20
c'est bien =E7a marche mais d=E9sormais j'aimerai imprimer=20
les r=E9sultats dans un =E9tat.

Je ne veux pas de : capture d'=E9cran, d'impression=20
d'enregistrement ou autre.=20

Voici mon code au sein de mon formulaire :

Option Compare Database

Private Sub chkLotEb_Click()
If Me.chkLotEb Then
Me.cmbLotEb.Visible =3D False
Else
Me.cmbLotEb.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkOutillageEb_Click()
If Me.chkOutillageEb Then
Me.cmbOutillageEb.Visible =3D False
Else
Me.cmbOutillageEb.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkLibell=E9_Click()
If Me.chkLibell=E9 Then
Me.txtLibell=E9.Visible =3D False
Else
Me.txtLibell=E9.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkIndice_Click()
If Me.chkIndice Then
Me.txtIndice.Visible =3D False
Else
Me.txtIndice.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkCircuit_Click()
If Me.chkCircuit Then
Me.cmbCircuit.Visible =3D False
Else
Me.cmbCircuit.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkProc=E9d=E9_Click()
If Me.chkProc=E9d=E9 Then
Me.cmbProc=E9d=E9.Visible =3D False
Else
Me.cmbProc=E9d=E9.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkCr=E9atrice_Click()
If Me.chkCr=E9atrice Then
Me.cmbCr=E9atrice.Visible =3D False
Else
Me.cmbCr=E9atrice.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkEmbt_Click()
If Me.chkEmbt Then
Me.cmbEmbt.Visible =3D False
Else
Me.cmbEmbt.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkMati=E8remoule_Click()
If Me.chkMati=E8remoule Then
Me.cmbMati=E8remoule.Visible =3D False
Else
Me.cmbMati=E8remoule.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkMati=E8refonds_Click()
If Me.chkMati=E8refonds Then
Me.cmbMati=E8refonds.Visible =3D False
Else
Me.cmbMati=E8refonds.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkEtat_Click()
If Me.chkEtat Then
Me.cmbEtat.Visible =3D False
Else
Me.cmbEtat.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkStatut_Click()
If Me.chkStatut Then
Me.cmbStatut.Visible =3D False
Else
Me.cmbStatut.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkStockage_Click()
If Me.chkStockage Then
Me.cmbStockage.Visible =3D False
Else
Me.cmbStockage.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkPotentiel_Click()
If Me.chkPotentiel Then
Me.txtPotentiel.Visible =3D False
Else
Me.txtPotentiel.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkQt=E9moule_Click()
If Me.chkQt=E9moule Then
Me.txtQt=E9moule.Visible =3D False
Else
Me.txtQt=E9moule.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub chkQt=E9fonds_Click()
If Me.chkQt=E9fonds Then
Me.txtQt=E9fonds.Visible =3D False
Else
Me.txtQt=E9fonds.Visible =3D True
End If
RefreshQuery
End Sub
Private Sub cmbLotEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbOutillageEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtLibell=E9_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtIndice_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbCircuit_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbProc=E9d=E9_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbCr=E9atrice_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbEmbt_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbMati=E8remoule_BeforeUpdate(Cancel As=20
Integer)
RefreshQuery
End Sub
Private Sub cmbMati=E8refonds_BeforeUpdate(Cancel As=20
Integer)
RefreshQuery
End Sub
Private Sub cmbStatut_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbEtat_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbStockage_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtPotentiel_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtQt=E9moule_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtQt=E9fonds_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control

For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value =3D -1
Case "lbl"
ctl.Caption =3D "-*-*-"
Case "txt"
ctl.Visible =3D False
ctl.Value =3D ""
Case "cmb"
ctl.Visible =3D False
End Select

Next ctl

Me.lstResults.RowSource =3D "SELECT Ebaucheur.[Code SOM=20
Eb],Ebaucheur.[Code article],[Libell=E9 art],Ebaucheur.
[Indice de s=E9rie],Ebaucheur.[Circuit Fab],Ebaucheur.
[Proc=E9d=E9],Ebaucheur.[code qual fonte],Ebaucheur.[Qualit=E9=20
fds Eb], Ebaucheur.[Emboitement MdB],Ebaucheur.[Qt=E9=20
Moules Eb],Ebaucheur.[Qt=E9 Fonds Eb],Ebaucheur.[Code=20
usine], Ebaucheur.[Code stat serie],Ebaucheur.[Etat de la=20
s=E9rie],Ebaucheur.[Lieu de stockage Eb], Ebaucheur.
[Potentiel d=E9part Eb],Ebaucheur.[Potentiel Eb],Ebaucheur.
[Cumul Cps battus Eb] FROM [Filtre Eb]Where Ebaucheur.
[Code article]<>0;"
Me.lstResults.Requery

End Sub

Private Sub RefreshQuery()
Dim SQL As String

SQL =3D "SELECT Ebaucheur.[Code SOM Eb],Ebaucheur.[Code=20
article],[Libell=E9 art],Ebaucheur.[Indice de=20
s=E9rie],Ebaucheur.[Circuit Fab],Ebaucheur.
[Proc=E9d=E9],Ebaucheur.[code qual fonte],Ebaucheur.[Qualit=E9=20
fds Eb], Ebaucheur.[Emboitement MdB],Ebaucheur.[Qt=E9=20
Moules Eb],Ebaucheur.[Qt=E9 Fonds Eb],Ebaucheur.[Code=20
usine], Ebaucheur.[Code stat serie],Ebaucheur.[Etat de la=20
s=E9rie],Ebaucheur.[Lieu de stockage Eb], Ebaucheur.
[Potentiel d=E9part Eb],Ebaucheur.[Potentiel Eb],Ebaucheur.
[Cumul Cps battus Eb] FROM [Filtre Eb]Where Ebaucheur.
[Code article]<>0"

If Not Me.chkLotEb Then
SQL =3D SQL & " And [Code SOM Eb]=3D'" & Me.cmbLotEb & "'"
End If

If Not Me.chkOutillageEb Then
SQL =3D SQL & " And [Code article]=3D" & Me.cmbOutillageEb=20
& ""
End If

If Not Me.chkLibell=E9 Then
SQL =3D SQL & " And [Libell=E9 art] like '*" & Me.txtLibell=E9=20
& "'"
End If

If Not Me.chkIndice Then
SQL =3D SQL & " And [Indice de s=E9rie] like '*" &=20
Me.txtIndice & "'"
End If

If Not Me.chkCircuit Then
SQL =3D SQL & " And [Circuit Fab]=3D '" & Me.cmbCircuit & "'"
End If

If Not Me.chkProc=E9d=E9 Then
SQL =3D SQL & " And [Proc=E9d=E9]=3D '" & Me.cmbProc=E9d=E9 & "'"
End If

If Not Me.chkCr=E9atrice Then
SQL =3D SQL & " And [Code usine]=3D '" & Me.cmbCr=E9atrice & "'"
End If

If Not Me.chkEmbt Then
SQL =3D SQL & " And [Emboitement MdB]=3D" & Me.cmbEmbt & ""
End If

If Not Me.chkMati=E8remoule Then
SQL =3D SQL & " And [code qual fonte]=3D '" &=20
Me.cmbMati=E8remoule & "'"
End If

If Not Me.chkMati=E8refonds Then
SQL =3D SQL & " And [Qualit=E9 fds Eb]=3D '" &=20
Me.cmbMati=E8refonds & "'"
End If

If Not Me.chkStatut Then
SQL =3D SQL & " And [Code stat serie]=3D '" & Me.cmbStatut=20
& "'"
End If

If Not Me.chkEtat Then
SQL =3D SQL & " And [Etat de la s=E9rie]=3D '" & Me.cmbEtat=20
& "'"
End If

If Not Me.chkStockage Then
SQL =3D SQL & " And [Lieu de stockage Eb]=3D '" &=20
Me.cmbStockage & "'"
End If

If Not Me.chkPotentiel Then
SQL =3D SQL & " And [Potentiel Eb]=3D" & Me.txtPotentiel & ""
End If

If Not Me.chkQt=E9moule Then
SQL =3D SQL & " And [Qt=E9 Moules Eb]=3D" & Me.txtQt=E9moule & ""
End If

If Not Me.chkQt=E9fonds Then
SQL =3D SQL & " And [Qt=E9 Fonds Eb]=3D" & Me.txtQt=E9fonds & ""
End If



SQL =3D SQL & ";"

Me.lstResults.RowSource =3D SQL
Me.lstResults.Requery

End Sub

Qu'est ce que je doit modifier au sein de ce code pour=20
exploiter cela dans un =E9tat.

Merci d'avance=20
=20

1 réponse

Avatar
Patrick
Bonjour,

C'est tout ? Pour être franc, je n'ai rien lu du code... j'ai autre chose à
faire. Ceci dit, voici un truc que tu peux faire. J'espère que cela répond à
ta demande.

Tu peux gérer une variable qui contiendra la description du filtre
multi-critère telle que tu veux l'afficher dans l'état. Dans l'argument
d'ouverture de l'état (OpenArg) tu transmets à l'état cette description.
Ensuite, dans la procédure qui s'exécute à l'ouverture de l'état, tu lui dit
d'afficher cela dans une zone quelconque de l'état.

Cordialement.

--
Patrick

"James" wrote in message
news:069201c47ada$7cb655c0$

Bonjour,

J'ai crée un filtre multi-critère au sein d'un formulaire
c'est bien ça marche mais désormais j'aimerai imprimer
les résultats dans un état.

Je ne veux pas de : capture d'écran, d'impression
d'enregistrement ou autre.

Voici mon code au sein de mon formulaire :

Option Compare Database

Private Sub chkLotEb_Click()
If Me.chkLotEb Then
Me.cmbLotEb.Visible = False
Else
Me.cmbLotEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkOutillageEb_Click()
If Me.chkOutillageEb Then
Me.cmbOutillageEb.Visible = False
Else
Me.cmbOutillageEb.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkLibellé_Click()
If Me.chkLibellé Then
Me.txtLibellé.Visible = False
Else
Me.txtLibellé.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkIndice_Click()
If Me.chkIndice Then
Me.txtIndice.Visible = False
Else
Me.txtIndice.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkCircuit_Click()
If Me.chkCircuit Then
Me.cmbCircuit.Visible = False
Else
Me.cmbCircuit.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkProcédé_Click()
If Me.chkProcédé Then
Me.cmbProcédé.Visible = False
Else
Me.cmbProcédé.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkCréatrice_Click()
If Me.chkCréatrice Then
Me.cmbCréatrice.Visible = False
Else
Me.cmbCréatrice.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkEmbt_Click()
If Me.chkEmbt Then
Me.cmbEmbt.Visible = False
Else
Me.cmbEmbt.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkMatièremoule_Click()
If Me.chkMatièremoule Then
Me.cmbMatièremoule.Visible = False
Else
Me.cmbMatièremoule.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkMatièrefonds_Click()
If Me.chkMatièrefonds Then
Me.cmbMatièrefonds.Visible = False
Else
Me.cmbMatièrefonds.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkEtat_Click()
If Me.chkEtat Then
Me.cmbEtat.Visible = False
Else
Me.cmbEtat.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkStatut_Click()
If Me.chkStatut Then
Me.cmbStatut.Visible = False
Else
Me.cmbStatut.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkStockage_Click()
If Me.chkStockage Then
Me.cmbStockage.Visible = False
Else
Me.cmbStockage.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkPotentiel_Click()
If Me.chkPotentiel Then
Me.txtPotentiel.Visible = False
Else
Me.txtPotentiel.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkQtémoule_Click()
If Me.chkQtémoule Then
Me.txtQtémoule.Visible = False
Else
Me.txtQtémoule.Visible = True
End If
RefreshQuery
End Sub
Private Sub chkQtéfonds_Click()
If Me.chkQtéfonds Then
Me.txtQtéfonds.Visible = False
Else
Me.txtQtéfonds.Visible = True
End If
RefreshQuery
End Sub
Private Sub cmbLotEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbOutillageEb_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtLibellé_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtIndice_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbCircuit_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbProcédé_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbCréatrice_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbEmbt_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbMatièremoule_BeforeUpdate(Cancel As
Integer)
RefreshQuery
End Sub
Private Sub cmbMatièrefonds_BeforeUpdate(Cancel As
Integer)
RefreshQuery
End Sub
Private Sub cmbStatut_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbEtat_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub cmbStockage_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtPotentiel_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtQtémoule_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub txtQtéfonds_BeforeUpdate(Cancel As Integer)
RefreshQuery
End Sub
Private Sub Form_Load()
Dim ctl As Control

For Each ctl In Me.Controls
Select Case Left(ctl.Name, 3)
Case "chk"
ctl.Value = -1
Case "lbl"
ctl.Caption = "-*-*-"
Case "txt"
ctl.Visible = False
ctl.Value = ""
Case "cmb"
ctl.Visible = False
End Select

Next ctl

Me.lstResults.RowSource = "SELECT Ebaucheur.[Code SOM
Eb],Ebaucheur.[Code article],[Libellé art],Ebaucheur.
[Indice de série],Ebaucheur.[Circuit Fab],Ebaucheur.
[Procédé],Ebaucheur.[code qual fonte],Ebaucheur.[Qualité
fds Eb], Ebaucheur.[Emboitement MdB],Ebaucheur.[Qté
Moules Eb],Ebaucheur.[Qté Fonds Eb],Ebaucheur.[Code
usine], Ebaucheur.[Code stat serie],Ebaucheur.[Etat de la
série],Ebaucheur.[Lieu de stockage Eb], Ebaucheur.
[Potentiel départ Eb],Ebaucheur.[Potentiel Eb],Ebaucheur.
[Cumul Cps battus Eb] FROM [Filtre Eb]Where Ebaucheur.
[Code article]<>0;"
Me.lstResults.Requery

End Sub

Private Sub RefreshQuery()
Dim SQL As String

SQL = "SELECT Ebaucheur.[Code SOM Eb],Ebaucheur.[Code
article],[Libellé art],Ebaucheur.[Indice de
série],Ebaucheur.[Circuit Fab],Ebaucheur.
[Procédé],Ebaucheur.[code qual fonte],Ebaucheur.[Qualité
fds Eb], Ebaucheur.[Emboitement MdB],Ebaucheur.[Qté
Moules Eb],Ebaucheur.[Qté Fonds Eb],Ebaucheur.[Code
usine], Ebaucheur.[Code stat serie],Ebaucheur.[Etat de la
série],Ebaucheur.[Lieu de stockage Eb], Ebaucheur.
[Potentiel départ Eb],Ebaucheur.[Potentiel Eb],Ebaucheur.
[Cumul Cps battus Eb] FROM [Filtre Eb]Where Ebaucheur.
[Code article]<>0"

If Not Me.chkLotEb Then
SQL = SQL & " And [Code SOM Eb]='" & Me.cmbLotEb & "'"
End If

If Not Me.chkOutillageEb Then
SQL = SQL & " And [Code article]=" & Me.cmbOutillageEb
& ""
End If

If Not Me.chkLibellé Then
SQL = SQL & " And [Libellé art] like '*" & Me.txtLibellé
& "'"
End If

If Not Me.chkIndice Then
SQL = SQL & " And [Indice de série] like '*" &
Me.txtIndice & "'"
End If

If Not Me.chkCircuit Then
SQL = SQL & " And [Circuit Fab]= '" & Me.cmbCircuit & "'"
End If

If Not Me.chkProcédé Then
SQL = SQL & " And [Procédé]= '" & Me.cmbProcédé & "'"
End If

If Not Me.chkCréatrice Then
SQL = SQL & " And [Code usine]= '" & Me.cmbCréatrice & "'"
End If

If Not Me.chkEmbt Then
SQL = SQL & " And [Emboitement MdB]=" & Me.cmbEmbt & ""
End If

If Not Me.chkMatièremoule Then
SQL = SQL & " And [code qual fonte]= '" &
Me.cmbMatièremoule & "'"
End If

If Not Me.chkMatièrefonds Then
SQL = SQL & " And [Qualité fds Eb]= '" &
Me.cmbMatièrefonds & "'"
End If

If Not Me.chkStatut Then
SQL = SQL & " And [Code stat serie]= '" & Me.cmbStatut
& "'"
End If

If Not Me.chkEtat Then
SQL = SQL & " And [Etat de la série]= '" & Me.cmbEtat
& "'"
End If

If Not Me.chkStockage Then
SQL = SQL & " And [Lieu de stockage Eb]= '" &
Me.cmbStockage & "'"
End If

If Not Me.chkPotentiel Then
SQL = SQL & " And [Potentiel Eb]=" & Me.txtPotentiel & ""
End If

If Not Me.chkQtémoule Then
SQL = SQL & " And [Qté Moules Eb]=" & Me.txtQtémoule & ""
End If

If Not Me.chkQtéfonds Then
SQL = SQL & " And [Qté Fonds Eb]=" & Me.txtQtéfonds & ""
End If



SQL = SQL & ";"

Me.lstResults.RowSource = SQL
Me.lstResults.Requery

End Sub

Qu'est ce que je doit modifier au sein de ce code pour
exploiter cela dans un état.

Merci d'avance