Colonnes invisibles dans sous-formulaire

Le
Gripoil
Bonjour tous,

Soit un formulaire principal avec un sous-formulaire (en
mode feuille de donnes).

Je souhaiterais que les colonnes vides de mon sous-
formulaire soient masques si le contenu de la colonne est
vide, de manire gagner en visibilit.

J'ai plac ce code dans un module :

Sub AjusterCol(frm As Form)

Dim ctl As Control

For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Then
If Isnull(ctl.Value) Then
ctl.Visible = False
End If
End If
Next ctl

End sub

que j'appelle dans la procdure vnementielle "Sur
Activation" de mon sous-formulaire par :

Private Sub Form_Current()
AjusterCol Me
End Sub

Mon sous-formulaire ne contient qu'une seule ligne.

Aprs tests, la boucle est bien prise en compte, mais la
proprit ctl.Visible ne produit aucun effet.

Aprs le passage en revue de tous les contrles, Acces 97
me renvoie invariablement "Erreur 13 - Type incompatible".

J'ai galement essay, sans succs, avec :

ctl.ColumnHidden = -1
ou
ctl.ColumnWidth = 0

Merci pour vos rponses.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel Carollo
Le #4835531
Bonsoir Gripoil!

Ce n'est pas possible en mode feuille de donnees.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Gripoil" news:6e3f01c40201$b21a7e00$
Bonjour à tous,

Soit un formulaire principal avec un sous-formulaire (en
mode feuille de données).

Je souhaiterais que les colonnes vides de mon sous-
formulaire soient masquées si le contenu de la colonne est
vide, de manière à gagner en visibilité.

J'ai placé ce code dans un module :

Sub AjusterCol(frm As Form)

Dim ctl As Control

For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Then
If Isnull(ctl.Value) Then
ctl.Visible = False
End If
End If
Next ctl

End sub

que j'appelle dans la procédure évènementielle "Sur
Activation" de mon sous-formulaire par :

Private Sub Form_Current()
AjusterCol Me
End Sub

Mon sous-formulaire ne contient qu'une seule ligne.

Après tests, la boucle est bien prise en compte, mais la
propriété ctl.Visible ne produit aucun effet.

Après le passage en revue de tous les contrôles, Acces 97
me renvoie invariablement "Erreur 13 - Type incompatible".

J'ai également essayé, sans succès, avec :

ctl.ColumnHidden = -1
ou
ctl.ColumnWidth = 0

Merci pour vos réponses.
Publicité
Poster une réponse
Anonyme