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

Rendre un control invisible dans un état?

5 réponses
Avatar
gilles
Bonjour,

Mon Etat prend comme source une table.
il comporte plusieurs enregistrements.

Mon probleme:
Lorsque un control est égal a zero je voudrais que le control soit
invisible.
cela fonctionne mais les autre enregistrements ont aussi ce meme control
invisible alors que le resultat n'est pas egal a zero pour les autres.

pour faire simple en explication.
j'edite plusieurs factures a des personnes differentes avec un meme etat en
une fois.
une des lignes de la facture peut avoir comme resultat zero suivant les
clients.
et c'est dans ce cas que je ne voudrais pas afficher la ligne, mais pour les
autres il faudrait quelle soit affiché.
Est ce possible???

voici le code que j'ai intrégré a l'état sur l'événement ( sur activé) :

Private Sub Report_Activate()
Dim ctlC As Control
For Each ctlC In Reports(EFacture).Controls
Select Case ctlC.ControlType

Case acTextBox
If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then
ctlC.Visible = False
Else
ctlC.Visible = True
End If
End Select

Next
End Sub

Merci de vos reponses
Gilles

5 réponses

Avatar
gilles
En fait je n'ai pas mis le code au bon endroit.
Il fallait le mettre dans la section detail
sur l'évènement (Au formatage)

gilles


"gilles" a écrit dans le message de
news:3f991902$0$6976$
Bonjour,

Mon Etat prend comme source une table.
il comporte plusieurs enregistrements.

Mon probleme:
Lorsque un control est égal a zero je voudrais que le control soit
invisible.
cela fonctionne mais les autre enregistrements ont aussi ce meme control
invisible alors que le resultat n'est pas egal a zero pour les autres.

pour faire simple en explication.
j'edite plusieurs factures a des personnes differentes avec un meme etat
en

une fois.
une des lignes de la facture peut avoir comme resultat zero suivant les
clients.
et c'est dans ce cas que je ne voudrais pas afficher la ligne, mais pour
les

autres il faudrait quelle soit affiché.
Est ce possible???

voici le code que j'ai intrégré a l'état sur l'événement ( sur activé) :

Private Sub Report_Activate()
Dim ctlC As Control
For Each ctlC In Reports(EFacture).Controls
Select Case ctlC.ControlType

Case acTextBox
If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then
ctlC.Visible = False
Else
ctlC.Visible = True
End If
End Select

Next
End Sub

Merci de vos reponses
Gilles






Avatar
3stone
Salut,

"gilles" a écrit:
| Mon probleme:
| Lorsque un control est égal a zero je voudrais que le control soit
| invisible.
| cela fonctionne mais les autre enregistrements ont aussi ce meme control
| invisible alors que le resultat n'est pas egal a zero pour les autres.
|
| pour faire simple en explication.
| j'edite plusieurs factures a des personnes differentes avec un meme etat en
| une fois.
| une des lignes de la facture peut avoir comme resultat zero suivant les
| clients.
| et c'est dans ce cas que je ne voudrais pas afficher la ligne, mais pour les
| autres il faudrait quelle soit affiché.
| Est ce possible???
|
| voici le code que j'ai intrégré a l'état sur l'événement ( sur activé) :
|
| Private Sub Report_Activate()
| Dim ctlC As Control
| For Each ctlC In Reports(EFacture).Controls
| Select Case ctlC.ControlType
|
| Case acTextBox
| If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then
| ctlC.Visible = False
| Else
| ctlC.Visible = True
| End If
| End Select
|
| Next
| End Sub
|


Place ton code au formatage de la section détail de l'état...


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Raymond
Bonjour.

faut tout mettre en section détail
faut rajouter un test sur le client pour savoir s'il faut imprimer ou non
petit problème sur :If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then , il
faudrait "0" si c'est bien un champ alpha;
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim ctlC As Control
For Each ctlC In Me.Controls
Select Case ctlC.ControlType
Case acTextBox
If (ctlC.Value = "0" Or ctlC.Value = "0 m²") And
(type_client = 9) Then
ctlC.Visible = False
Else
ctlC.Visible = True
End If
End Select
Next
End Sub


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"gilles" a écrit dans le message de
news:3f991902$0$6976$
Bonjour,

Mon Etat prend comme source une table.
il comporte plusieurs enregistrements.

Mon probleme:
Lorsque un control est égal a zero je voudrais que le control soit
invisible.
cela fonctionne mais les autre enregistrements ont aussi ce meme control
invisible alors que le resultat n'est pas egal a zero pour les autres.

pour faire simple en explication.
j'edite plusieurs factures a des personnes differentes avec un meme etat
en

une fois.
une des lignes de la facture peut avoir comme resultat zero suivant les
clients.
et c'est dans ce cas que je ne voudrais pas afficher la ligne, mais pour
les

autres il faudrait quelle soit affiché.
Est ce possible???

voici le code que j'ai intrégré a l'état sur l'événement ( sur activé) :

Private Sub Report_Activate()
Dim ctlC As Control
For Each ctlC In Reports(EFacture).Controls
Select Case ctlC.ControlType

Case acTextBox
If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then
ctlC.Visible = False
Else
ctlC.Visible = True
End If
End Select

Next
End Sub

Merci de vos reponses
Gilles






Avatar
gilles
Merci de vos reponses

pour raymond:
Le 0 est numerique donc pas de problemes.
Je ne comprends pas pourquoi tu me rajoute ca? =>And (type_client = 9)

precision:
Dans tous les cas la facture doit sortir a l'impression

merci de ta reponse
gilles

"Raymond" a écrit dans le message de
news:
Bonjour.

faut tout mettre en section détail
faut rajouter un test sur le client pour savoir s'il faut imprimer ou non
petit problème sur :If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then , il
faudrait "0" si c'est bien un champ alpha;
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim ctlC As Control
For Each ctlC In Me.Controls
Select Case ctlC.ControlType
Case acTextBox
If (ctlC.Value = "0" Or ctlC.Value = "0 m²") And
(type_client = 9) Then
ctlC.Visible = False
Else
ctlC.Visible = True
End If
End Select
Next
End Sub


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"gilles" a écrit dans le message de
news:3f991902$0$6976$
Bonjour,

Mon Etat prend comme source une table.
il comporte plusieurs enregistrements.

Mon probleme:
Lorsque un control est égal a zero je voudrais que le control soit
invisible.
cela fonctionne mais les autre enregistrements ont aussi ce meme control
invisible alors que le resultat n'est pas egal a zero pour les autres.

pour faire simple en explication.
j'edite plusieurs factures a des personnes differentes avec un meme etat
en

une fois.
une des lignes de la facture peut avoir comme resultat zero suivant les
clients.
et c'est dans ce cas que je ne voudrais pas afficher la ligne, mais pour
les

autres il faudrait quelle soit affiché.
Est ce possible???

voici le code que j'ai intrégré a l'état sur l'événement ( sur activé) :

Private Sub Report_Activate()
Dim ctlC As Control
For Each ctlC In Reports(EFacture).Controls
Select Case ctlC.ControlType

Case acTextBox
If ctlC.Value = 0 Or ctlC.Value = "0 m²" Then
ctlC.Visible = False
Else
ctlC.Visible = True
End If
End Select

Next
End Sub

Merci de vos reponses
Gilles









Avatar
Raymond
Bonjour.

le test portant sur du numérique et de l'alpha je pensais que le champ était
en texte string.
vu que tu avais marqué "suivant les clients" je pensais qu'il fallait tester
un code du client pour que la condition soit vrai.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"gilles" a écrit dans le message de
news:3f9a7916$0$6968$
Merci de vos reponses

pour raymond:
Le 0 est numerique donc pas de problemes.
Je ne comprends pas pourquoi tu me rajoute ca? =>And (type_client = 9)

precision:
Dans tous les cas la facture doit sortir a l'impression

merci de ta reponse
gilles