Bonjour,
J'ai essayé d'appliquer à ma base de données le code de création d'un état basé sur une requête d'analyse croisée proposé dans Les Sources. Mais je suis confronté au problème suivant: lorsque je lance l'état, seule la première ligne de résultats est affichée. En gros, dans ma requête, il y a ça:
______A1___A2___A3
P1_____0____0____1
P2_____3____0____2
P3_____4____2____0
Et l'état n'affiche que ça:
______A1___A2___A3
P1_____0____0____1
Comme il me semble que c'est le Detail_Format qui s'occupe d'afficher les résultats, j'ai essayé de "résoudre" le problème en utilisant un Loop, mais tous les résultats sont ecrits sur la première ligne (les anciennes données étant ecrasées par les nouvelles), ce qui au final donne ça:
______A1___A2___A3
P3_____4____2____0
Je pensais donc qu'il ne manquait plus qu'à mettre une instruction pour "forcer" l'état à changer de ligne, en gros:
Avec XXXXXXXXXXXX cette fameuse instruction, mais voilà, je ne vois pas à quoi elle pourrait correspondre...Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Dim entX As Integer
Do
If Not rstEnregistrement.EOF Then
If Me.FormatCount = 1 Then
For entX = 1 To NbColonnes
Me("Detail" + Format(entX)) = Nz(rstEnregistrement(entX - 1), 0)
Next entX
For entX = NbColonnes + 2 To Nombre_colonnes
Me("Detail" + Format(entX)).Visible = False
Next entX
rstEnregistrement.MoveNext
End If
End If
XXXXXXXXXXXX
Loop Until rstEnregistrement.EOF
End Sub![]()
Cette instruction existe-t-elle? Suis-je sur la bonne voie ou me suis-je plutôt compliqué la vie?
Petite précision: je travaille sous Access 2003. La version anglaise.
Merci d'avance pour vos réponses.
Claude Emmanuel
PS: D'ailleurs, dans le Détail_Format présenté dans les sources, ne faudrait-il pas remplacer Enregistrement par rstEnregistrement? (c'est ce que j'ai fait en tout cas, vu qu'Access ne reconnaissait pas Enregistrement)
Partager