Bonjour,
J’ai un état qui m’édite mes enregistrements par groupes.
Par exemple :
-Un adhérent isolé s’édite sur une page, et en bas de page j’ai la numérotation de page 1/1
-Un couple d’adhérents s’édite sur deux pages, l’une avec la numérotation de page ½
et l’autre 2/2.
Comment faire pour que la page du couple d’adhérents s’édite en recto verso sur une seule page ?
J’ai ajouté ces lignes de code mais cela ne fonctionne pas.
Le code de mon état
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If int_PagesGroup(Me.znx_NumeroGroupe) = 1 Then Me.Section(acDetail).ForceNewPage = 0 Else Me.Section(acDetail).ForceNewPage = 2 End If
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 Option Compare Database Option Explicit '--- Enregistre le nb total de pages pour chaque groupes dans un tableau Private int_PagesGroup() As Integer '--- Initialisation de la page en cours après un pied de groupePrivate Private bln_RazPagination As Boolean Private Sub Report_Open(Cancel As Integer) '--- Initialisation de la page en cours en En-tête de page bln_RazPagination = True '--- Dimensionnement du tableau à une valeur minimale ReDim int_PagesGroup(1) End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub ZoneEntêtePage_Format(Cancel As Integer, FormatCount As Integer) If bln_RazPagination Then '--- Initialise la page en cours à 1 Me.Page = 1 '--- Ne pas réinitialiser la page suivante si aucun pied de groupe n'est édité entre 2 pages bln_RazPagination = False End If End Sub
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 Private Sub PiedGroupe0_Format(Cancel As Integer, FormatCount As Integer) On Error Resume Next '--- Redimensionnement dynamique du tableau en fonction du nombre de groupe? en preservant les valeurs déjà enregistrées dans le tableau (ReDim Preserve) If UBound(int_PagesGroup) < Me.znx_NumeroGroupe Then _ ReDim Preserve int_PagesGroup(Me.znx_NumeroGroupe) '--- Mise en mémoire de la page du pied de groupe, ce qui équivaut au nombre total de pages pour le groupe, le groupe étant référencé par '[znx_NumeroGroupe] int_PagesGroup(Me.znx_NumeroGroupe) = Me.Page '----- CODE RAJOUTE QUI NE FONCTIONNE PAS 'If int_PagesGroup(Me.znx_NumeroGroupe) = 1 Then 'Me.Section(acDetail).ForceNewPage = 0 'Else 'Me.Section(acDetail).ForceNewPage = 2 'End If '--- Initialisation de la page suivante en En-tête de page suivante, puisque le Pied de Groupe a comme propriété :Saut de Page = "Après Section" bln_RazPagination = True End SubSi cela peut aider, je pourrai joindre un exemple de mon état.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Function Pagination() As String '--- Function appelée par le control [znx_Pagination] le nombre total de pages du groupe en cours étant fourni par la 'variable int_PagesGroup(Me.znx_NumeroGroupe) avec comme indice le numéro du groupe en cours Pagination = "Page : " & Me.Page & " / " & _ int_PagesGroup(Me.znx_NumeroGroupe) End Function
Merci pour votre aide.
Salutations
Partager