IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Dans un état, numéroter les pages d’un groupe « page x sur y ».


Sujet :

Contribuez

  1. #1
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut Dans un état, numéroter les pages d’un groupe « page x sur y ».
    Bonjour,

    Cette question est fréquente sur le forum.
    .....(et sauf erreur de ma part) je n’ai pas trouvé de solution sur les différents Forum Office....


    Réinitialiser [Page] à chaque groupe est simple à obtenir, dans l’événement "Au formatage" du groupe, il suffit de l’instruction :
    Par contre, pour ce qui est du nombre de pages que comporte le groupe, pas de syntaxe prévue : il n’y a pas, pour chaque groupe un équivalent du [pages] qui correspond au nombre de pages de l’état complet.
    Je vous propose une solution facile à mettre en place.
    Elle s’inspire largement de
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Option Compare Database 
    Option Explicit 
     
    Dim DB As Database 
    Dim GrpPages As Recordset 
     
    Function GroupTotalPages() 
       'Trouvez le nom de groupe. 
       GrpPages.Seek "=", Me![secteurs] 
       If Not GrpPages.NoMatch Then 
          GroupTotalPages = GrpPages![PageNuméro] 
       End If 
    End Function 
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer) 
    ' Initialise le numéro de page à 1 lorsqu'un nouveau groupe débute 
        Page = 1 
    End Sub 
     
    Private Sub Report_Open(Cancel As Integer) 
    Set DB = DBEngine.Workspaces(0).Databases(0) 
       DoCmd.SetWarnings False 
       DoCmd.RunSQL "Delete * From [tbl_GroupePage];" 
       DoCmd.SetWarnings True 
       Set GrpPages = DB.OpenRecordset("tbl_GroupePage", DB_OPEN_TABLE) 
       GrpPages.Index = "PrimaryKey" 
    End Sub 
     
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer) 
    'Trouve le groupe au fur et à mesure. 
       GrpPages.Seek "=", Me![secteurs] 
     
       If Not GrpPages.NoMatch Then 
          'Le groupe est déjà comptabilisé. 
          If GrpPages![PageNuméro] < Me.Page Then 
             GrpPages.Edit 
             GrpPages![PageNuméro] = Me.Page 
             GrpPages.Update 
          End If 
       Else 
          'C'est une nouvelle page du groupe, Par conséquent on l'ajoute. 
          GrpPages.AddNew 
          GrpPages![secteurs] = Me![secteurs] 
          GrpPages![PageNuméro] = Me.Page 
          GrpPages.Update 
       End If 
    End Sub
    La différence essentielle : ici, pas besoin de définir une table auxiliaire à chaque état.
    Pas besoin non plus de modifier le code pour y mentionner le champ sur lequel on regroupe.
    D’où simplification de la mise en place.

    Pour appliquer :

    - Dans le pied de page :
    ** un contrôle avec comme source : =[Pages], pour éviter toute ambiguïté, sa propriété visible = non.
    Sa présence est indispensable pour le déroulement du processus.
    ** un contrôle avec comme source : =" Page " & [Page] & " sur " & getPages(). C’est lui qui affichera la pagination.
    ** Dans le module de l’état, le code suivant :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Option Compare Database
    Option Explicit
    Dim ChampGroupe As String, CtlGroupe As String, ctl As Control
    Dim ArrGroupePages(2000, 1)
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
    ' Provoquer la réinitialisation de [Page] au changement de Groupe
        Me.Page = 1
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
    'recherche du nom du contrôle qui contient le champ de groupage
    ChampGroupe = Me.Report.GroupLevel(0).ControlSource  '<----- le niveau de regroupement le plus élevé
    'Boucle sur les contrôles pour en trouver un qui contient ChampGroupe
    For Each ctl In Me.Controls
        If ctl.ControlType = acTextBox Or ctl.ControlType = acListBox Then
            If ctl.ControlSource = ChampGroupe Then
                CtlGroupe = ctl.Name
                Exit For
            End If
        End If
    ContinueIci:
    Next ctl
    End Sub
     
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
    Dim i As Integer, Trouve As Boolean
      'lors du formatage, mémoriser le + grand N° de page de chaque groupe
    Trouve = False
    For i = 0 To UBound(ArrGroupePages)
       If ArrGroupePages(i, 0) = Empty Then Exit For 'on décroche à la 1ère ligne libre
       If ArrGroupePages(i, 0) = Me(CtlGroupe) Then
            'le groupe est déjà présent dans le tableau  --> mémoriser la page si supérieure
          If ArrGroupePages(i, 1) < Me.Page Then ArrGroupePages(i, 1) = Me.Page
          Trouve = True
       End If
    Next i
    If Trouve = False Then
            'c'est un nouveau groupe ---> ajouter une ligne au tableau et mémoriser
                                              ' i= 1ère ligne libre (voir ci-avant)
          ArrGroupePages(i, 0) = Me(CtlGroupe)
          ArrGroupePages(i, 1) = Me.Page
    End If
    End Sub
     
    Public Function GetPages()
    Dim i As Integer
    For i = 0 To UBound(ArrGroupePages) 'en fait, la boucle s'interrompt au 1er item vide
        If ArrGroupePages(i, 0) = Me(CtlGroupe) Then
           GetPages = ArrGroupePages(i, 1)
           Exit For
        End If
    Next i
    End Function
    Un peu de commentaires sur la programmation.
    En incluant un contrôle avec comme source =[Pages], on force Access à reformater.
    Chaque fois qu’il y a formatage de la section contenant le champ de regroupement, on comptabilise dans un tableau interne la valeur du champ et le N° de la page le plus grand.
    En fin de course, la fonction « GetPages() » aménage pour chaque groupe, le N° mémorisé.

    Voici un exemple en annexe.

    En espérant que ce petit bout de code sera utile au plus grand nombre....en attente d'amélioration éventuelle de celui-ci et/ou d'un lien que j'aurai loupé ....
    Remarques et suggestions, bienvenues (singulièrement dans la recherche du contrôle contenant le champ de regroupement).

    Cordialement.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut changement de groupe
    Bonsoir,

    J'utilise ceci depuis un bon moment que j'ai trouvé je ne sais plus où ..que j'ai peut être modifié m'en rappel plus

    pour que dans un état global de N factures savoir le nombre de page par facture.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
    Option Compare Database
    Option Explicit
     
    Dim GrpArrayPage(), GrpArrayPages()
    Dim GrpNameCurrent As Variant, GrpNamePrevious As Variant
    Dim GrpPage As Integer, GrpPages As Integer
     
     
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
     
    Dim i As Integer
      If Me.Pages = 0 Then
     
        ReDim Preserve GrpArrayPage(Me.Page + 1)
        ReDim Preserve GrpArrayPages(Me.Page + 1)
     
        GrpNameCurrent = Me.lechampkichange ' ici le champ qui permet de savoir que l'on bascule
        If GrpNameCurrent = GrpNamePrevious Then
            GrpArrayPage(Me.Page) = GrpArrayPage(Me.Page - 1) + 1
            GrpPages = GrpArrayPage(Me.Page)
                For i = Me.Page - ((GrpPages) - 1) To Me.Page
                    GrpArrayPages(i) = GrpPages
                Next i
        Else
            GrpPage = 1
            GrpArrayPage(Me.Page) = GrpPage
            GrpArrayPages(Me.Page) = GrpPage
        End If
      Else
        Me.ctlgrpPages = Me.lechampkichange & " - " & "Page" & " " & GrpArrayPage(Me.Page) & " sur " & " " & GrpArrayPages(Me.Page)
      End If
      GrpNamePrevious = GrpNameCurrent
     
    End Sub
    J'ai téléchargé la base mais il n'y a pas ton code dedans ??

    a+

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour naphta,

    Merci pour ton intérêt ... et de m'avoir signalé que j'avais posté un mauvais zip (en fait une solution "acrobatique" antérieure).

    Les deux propositions sont fort proches.

    La tienne nécessite d'adapter le code (ou l’état) en fonction du "chankichange".
    Je préfère généraliser en cherchant ce contrôle par le code.

    Par contre, je propose de retenir ton idée qui consiste à tenir la comptabilité des pages en mémoire dans deux tableaux qui fonctionnent en parallèle, une ligne par valeur respective.
    Dans la solution originale j’ai un seul tableau.
    Au départ, je l’ai défini à 2000 lignes et une colonne, car si on utilise le mot clé Preserve, on ne peut redimensionner que la dernière dimension du tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ArrGroupePages(2000, 1)
    Sans doute la limite de 2000 a peu de risque d’être dépassée, mais elle est là.
    Ta solution permet de redimensionner au fur et à mesure et donc de présenter une écriture plus élégante.
    Le code à introduire dans le module de l’état devient :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Option Compare Database
    Option Explicit
    Dim ChampGroupe As String, CtlGroupe As String, ctl As Control
    Dim ArrGroupes() As Variant
    Dim ArrPages() As Integer
    Dim Initialise As Boolean
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
    ' Provoquer la réinitialisation de [Page] au changement de Groupe
        Me.Page = 1
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
    'recherche du nom du contrôle qui contient le champ de groupage
    ChampGroupe = Me.Report.GroupLevel(0).ControlSource  '<----- le niveau de regroupement le plus élevé
    'Boucle sur les contrôles pour en trouver un qui contient ChampGroupe
     
    'Reste à faire !!!!!!!!!!!!!!!!!!!
        'améliorer l'algorithme pour exprimer :"pour tous les contrôles qui ont une
        '                                          propriété ControlSource ...."
    For Each ctl In Me.Controls
        If ctl.ControlType = acTextBox Or ctl.ControlType = acListBox Then
            If ctl.ControlSource = ChampGroupe Then
                CtlGroupe = ctl.Name
                Exit For
            End If
        End If
    Next ctl
    End Sub
     
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
    Dim i As Integer, Trouve As Boolean
      'initialiser la dimension des tableaux
    If Initialise = False Then
       ReDim ArrGroupes(0)
       ReDim ArrPages(0)
       ArrGroupes(0) = Me(CtlGroupe)
       ArrPages(0) = 1
    Initialise = True
    End If
      'lors du formatage, mémoriser le + grand N° de page de chaque groupe
    Trouve = False   'à "True", si on trouve déjà une comptabilisation pour ce groupe
    For i = 0 To UBound(ArrGroupes)
        If ArrGroupes(i) = Me(CtlGroupe) Then
            'le groupe est déjà présent dans le tableau  --> mémoriser la page si supérieure
          If ArrPages(i) < Me.Page Then ArrPages(i) = Me.Page
          Trouve = True
       End If
    Next i
    If Trouve = False Then    'c'est un nouveau groupe
                               '   ---> ajouter une ligne (i) au tableau et mémoriser
          ReDim Preserve ArrGroupes(i)
          ReDim Preserve ArrPages(i)
          ArrGroupes(i) = Me(CtlGroupe)
          ArrPages(i) = Me.Page
    End If
    End Sub
     
    Public Function GetPages()
    Dim i As Integer
    For i = 0 To UBound(ArrGroupes)
        If ArrGroupes(i) = Me(CtlGroupe) Then
           GetPages = ArrPages(i)
           Exit For
        End If
    Next i
     
    End Function
    Je joins un exemple.
    Bonne journée et au plaisir.
    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    LedZeppII m'a donné la solution qui permet de généraliser la recherche du contrôle contenant la source sur laquelle on regroupe.
    Ici :http://www.developpez.net/forums/d99...e/#post5589090

    Le code évolue donc comme ceci :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    Option Compare Database
    Option Explicit
    Dim ChampGroupe As String, CtlGroupe As String, ctl As Control
    Dim ArrGroupes() As Variant
    Dim ArrPages() As Integer
    Dim Initialise As Boolean
    Function GetCtlNameForField(strField As String) As String
    ' Merci LedZeppII
    'http://www.developpez.net/forums/d997885/logiciels/microsoft-office/access/vba-access/rechercher-controles-ont-controlsource/#post5589090
    Dim ctl As Access.Control
     
    On Error GoTo ErrH
     
    For Each ctl In Me.Controls
        If ctl.ControlSource = strField Then
           GetCtlNameForField = ctl.Name
           Exit For
        End If
    NextCtl:
    Next
     
    Sortie:
    Exit Function
     
    ErrH:
    Select Case Err.Number
        Case 438
             Resume NextCtl
    End Select
    MsgBox "Erreur " & Err.Number & " : " & Err.Description, , "GetCtlNameForField"
    Resume Sortie
    End Function
     
    Private Sub EntêteGroupe0_Format(Cancel As Integer, FormatCount As Integer)
    ' Provoquer la réinitialisation de [Page] au changement de Groupe
        Me.Page = 1
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
    'recherche du nom du contrôle qui contient le champ de groupage
    ChampGroupe = Me.Report.GroupLevel(0).ControlSource  '<----- le niveau de regroupement le plus élevé
    'trouver contrôle qui contient ChampGroupe
    CtlGroupe = GetCtlNameForField(ChampGroupe)
    End Sub
     
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
    Dim i As Integer, Trouve As Boolean
      'initialiser la dimension des tableaux
    If Initialise = False Then
       ReDim ArrGroupes(0)
       ReDim ArrPages(0)
       ArrGroupes(0) = Me(CtlGroupe)
       ArrPages(0) = 1
    Initialise = True
    End If
      'lors du formatage, mémoriser le + grand N° de page de chaque groupe
    Trouve = False   'à "True", si on trouve déjà une comptabilisation pour ce groupe
    For i = 0 To UBound(ArrGroupes)
        If ArrGroupes(i) = Me(CtlGroupe) Then
            'le groupe est déjà présent dans le tableau  --> mémoriser la page si supérieure
          If ArrPages(i) < Me.Page Then ArrPages(i) = Me.Page
          Trouve = True
       End If
    Next i
    If Trouve = False Then    'c'est un nouveau groupe
                               '   ---> ajouter une ligne (i) au tableau et mémoriser
          ReDim Preserve ArrGroupes(i)
          ReDim Preserve ArrPages(i)
          ArrGroupes(i) = Me(CtlGroupe)
          ArrPages(i) = Me.Page
    End If
    End Sub
     
    Public Function GetPages()
    Dim i As Integer
    For i = 0 To UBound(ArrGroupes)
        If ArrGroupes(i) = Me(CtlGroupe) Then
           GetPages = ArrPages(i)
           Exit For
        End If
    Next i
     
    End Function
    Merci pour vos suggestions.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 52
    Points
    52
    Par défaut Pb avec le code proposé
    Bonjour,

    le code que vous proposez dans ce post est exactement ce qu'il me faut.
    je l'ai donc copié dans le module de mon état et j'ai un plantage erreur d'exécution 2465 : access ne trouve pas le champ auquel in est fait référence.

    le débogage plante sur la ligne ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrGroupes(0) = Me(CtlGroupe)
    de la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub ZonePiedPage_Format(Cancel As Integer, FormatCount As Integer)
    j'ai bien ajouter les contrôles mentionnés en préambule du code comme vous le précisiez.

    merci de votre aide

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    C'est comme si tu n'avais pas défini de groupe dans ton état.

    1° Dans le code, place un point d'arrêt sur la dernière ligne de
    Private Sub Report_Open(Cancel As Integer) , comme la première miniature.
    2° Affiche l'état.

    3° Le code s'affiche au point d'arrêt, place le curseur sur "CtlGroupe", tu devais y voir le nom du contrôle du groupe, comme sur la 2e miniature.
    Images attachées Images attachées   
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 52
    Points
    52
    Par défaut Il y a pourtant des groupes
    Bonjour et merci de m'avoir répondu.

    effectivement ctlgroupe est vide dans mon état.
    pourtant l'état est regroupé sur 2 rubriques différentes.

    est-ce à dire qu'il faut due je mette ="[pages] et =" Page " & [Page] & " sur " & getPages()

    non pas dans le pied de page, mais dans le pied de groupe du groupe concerné ?

    merci

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Peux-tu poster une db compatible avec Access2000 avec ton état ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 55
    Points : 52
    Points
    52
    Par défaut quelque mélanges ont fait que...
    bonjour et merci pour ta réponse et mes excuses pour le retard à te répondre.

    en fait, je me suis rendu compte que pour faire un état "sympa", j'avais mélangé dans un en tête de regroupement plusieurs champs de regroupement, c'est sans doute ce qui faisait "planter".

    j'ai refais mon état en respectant les regroupement et la ça marche.

    merci encore de ton aide.

    PS: je viens de poster une nouvelle discussion, toujours sur les états, si tu peux me donner la solution, ce serait sympa.

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Entetemps, j'ai rédigé un tutoriel avec présentation d'un code simplifié :

    http://claudeleloup.developpez.com/t...-pages-groupe/
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

Discussions similaires

  1. [WD-2007] Numéroter les enregistrements d’un champ DATABASE
    Par apt dans le forum Word
    Réponses: 4
    Dernier message: 06/03/2014, 22h40
  2. [AC-2003] Lister les elements d’un groupe dans une requete:
    Par Bonero dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 07/07/2011, 13h08
  3. Réponses: 1
    Dernier message: 23/05/2010, 09h08
  4. numéroter les lignes par groupe
    Par Kurdran dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/04/2008, 14h08
  5. Réponses: 2
    Dernier message: 22/06/2007, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo