bonjour après quelques recherches sur ce forum j ai pu fabriquer ma fonction qui permet le positionnement de mon formulaire appelé sous l'enregistrement selectionne....pour information mon form est un ssform et en mode continu
Voici le code de positionnement ds l ecran du form initial
et le code de positionnement du form appele
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Function positionform1(fm As Form, fin As Boolean, Optional strctl As String) As ancrage If fin = False Then Dim curline As Long curline = fm.ctlcurline coordctlY = fm.EntêteFormulaire.height + fm.Détail.height * curline Else Dim rst As Long rst = fm.Recordset.RecordCount If rst < 4 Then coordctlY = fm.EntêteFormulaire.height + fm.Détail.height * (rst + 1) Else coordctlY = fm.EntêteFormulaire.height + fm.Détail.height * 4 End If End If coordctlY = coordctlY / RapportY(1) If strctl <> "" Then coordctlX = fm.Controls(strctl).Left / RapportX(1)'rapport pixel/twips Else coordctlX = 0 End If Dim coordPixel As Position Call GetWindowRect(fm.hwnd, coordPixel) coordformY = coordPixel.Top coordformX = coordPixel.Left End Function
Mon SOUCI (ligne 6 du 1er code)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Function positionform2() As ancrage positionform2.haut = coordformY + coordctlY positionform2.gauche = coordformX + coordctlX End Function
je determine la hauteur du controle par l 'addition de l entete de form et du detail multiplie par le numero de ligne selectionnee
Tout va bien si mon ascenceur de form est en haut, des que je descends mon ascenceur la formule est fausse ??????.
Si quelqu'un a une solution je serais ravie
Partager