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

probleme avec applyfilter

2 réponses
Avatar
camille
Bonjour,

voila j'ai fait une fonction qui redimensionne un form en mode continu
suivant le nombre de lignes dans le form
voila =E0 quoi =E7a ressemble :

Sub Dimensions()
a =3D 730 'barre haut
b =3D Me.Section(1).Height 'hauteur de l'entete de formulaire
c =3D Me.Section(0).Height 'hauteur de la section d=E9tail
x =3D Me.RecordsetClone.RecordCount 'nombre d'enregistrements affich=E9s
If x =3D 0 Then x =3D 1
If x > 30 Then x =3D 30 'le nombre maximum de lignes
affich=E9es

hauteur =3D a + b + (x * c) + D
DoCmd.MoveSize , , , hauteur
End Sub

---------------------------

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
MsgBox Me.RecordsetClone.RecordCount
Me.CmdAfficherTout.Enabled =3D True
Call Dimensions
End Sub

------------------------
apr=E9s =E7a je pensais qu'en appellant la fonction sur filtre appliqu=E9 =
=E7a
marcherait mais je l'ai dans l'os
La MsgBox Me.RecordsetClone.RecordCount me renvoie le nombre de lignes
d'avant l'application du filtre...
par exp mon form affiche 20 enregts... je fais une s=E9lection et je
fais clic droit "filtrer par selection" je sais qu'apr=E9s ce filtre il
va me rester 10 lignes... et bien la msgbox me renvoie 20 !
Comment que je dois faire ? evidemment sur filtre (OnFilter) =E7a marche
pas... je pensais que sur filtre appliqu=E9 c'=E9tait quand le filtre
=E9tait appliqu=E9 mais c'est avant (j'en ai la preuve par la valeur
renvoy=E9e par la msgbox)
elle porte pas un peu mal son nom cette fonction ?
Comment que je dois faire ?
Merci

2 réponses

Avatar
Rlapt
Bonjour,

As tu essayé de remplacer x = Me.RecordsetClone.RecordCount par
X = Me.Recordset.RecordCount ?


Bonjour,

voila j'ai fait une fonction qui redimensionne un form en mode continu
suivant le nombre de lignes dans le form
voila à quoi ça ressemble :

Sub Dimensions()
a = 730 'barre haut
b = Me.Section(1).Height 'hauteur de l'entete de formulaire
c = Me.Section(0).Height 'hauteur de la section détail
x = Me.RecordsetClone.RecordCount 'nombre d'enregistrements affichés
If x = 0 Then x = 1
If x > 30 Then x = 30 'le nombre maximum de lignes
affichées

hauteur = a + b + (x * c) + D
DoCmd.MoveSize , , , hauteur
End Sub

---------------------------

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
MsgBox Me.RecordsetClone.RecordCount
Me.CmdAfficherTout.Enabled = True
Call Dimensions
End Sub

------------------------
aprés ça je pensais qu'en appellant la fonction sur filtre appliqué ça
marcherait mais je l'ai dans l'os
La MsgBox Me.RecordsetClone.RecordCount me renvoie le nombre de lignes
d'avant l'application du filtre...
par exp mon form affiche 20 enregts... je fais une sélection et je
fais clic droit "filtrer par selection" je sais qu'aprés ce filtre il
va me rester 10 lignes... et bien la msgbox me renvoie 20 !
Comment que je dois faire ? evidemment sur filtre (OnFilter) ça marche
pas... je pensais que sur filtre appliqué c'était quand le filtre
était appliqué mais c'est avant (j'en ai la preuve par la valeur
renvoyée par la msgbox)
elle porte pas un peu mal son nom cette fonction ?
Comment que je dois faire ?
Merci




Avatar
camille
On 3 mar, 08:21, Rlapt wrote:
Bonjour,

As tu essayé de remplacer x = Me.RecordsetClone.RecordCount par
X = Me.Recordset.RecordCount ?




Bonjour,

voila j'ai fait une fonction qui redimensionne un form en mode continu
suivant le nombre de lignes dans le form
voila à quoi ça ressemble :

Sub Dimensions()
a = 730 'barre haut
b = Me.Section(1).Height 'hauteur de l'entete de formulaire
c = Me.Section(0).Height 'hauteur de la section détail
x = Me.RecordsetClone.RecordCount 'nombre d'enregistrements affich és
If x = 0 Then x = 1
If x > 30 Then x = 30 'le nombre maximum de lignes
affichées

hauteur = a + b + (x * c) + D
DoCmd.MoveSize , , , hauteur
End Sub

---------------------------

Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
MsgBox Me.RecordsetClone.RecordCount
Me.CmdAfficherTout.Enabled = True
Call Dimensions
End Sub

------------------------
aprés ça je pensais qu'en appellant la fonction sur filtre appliqu é ça
marcherait mais je l'ai dans l'os
La MsgBox Me.RecordsetClone.RecordCount me renvoie le nombre de lignes
d'avant l'application du filtre...
par exp mon form affiche 20 enregts... je fais une sélection et je
fais clic droit "filtrer par selection" je sais qu'aprés ce filtre il
va me rester 10 lignes... et bien la msgbox me renvoie 20 !
Comment que je dois faire ? evidemment sur filtre (OnFilter) ça marche
pas... je pensais que sur filtre appliqué c'était quand le filtre
était appliqué mais c'est avant (j'en ai la preuve par la valeur
renvoyée par la msgbox)
elle porte pas un peu mal son nom cette fonction ?
Comment que je dois faire ?
Merci- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


J'ai touvé une solution en plaçant ma procédure sur form current et
pas sur ApplyFilter.