× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Access 2003 - Etat sur requete analyse croisée+VBA
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
USAC
  Posté le 19/08/2010 @ 14:41 
Aller en bas de la page 
Nouvel astucien

Bonjour au forum,

Mon problème est le suivant : je souhaite sur une appli Access 2003 générer 1 état sur une requête analyse croisée dont le nombre de champs varie en fonction du résultat retourné par la requête (5 à 31). J’ai trouvé un code qui répond parfaitement à une partie de mon besoin et qui illustre le 1er état (ci-dessous) ; le code est listé après la 2ème copie écran.

Je souhaite ajouté ajouter des niveaux de regroupement afin d’effectuer 1 sous-total pour chaque valeur »Objet » et cumul pour chaque valeur « Type_Erreur ». J’ai donc déplacé le code de la section Détail dans la partie Entête_Groupe1 (Objet) et copié le code du pied d’état dans la partie pied de groupe0. Le résultat est correct pour la partie entête de groupe1 puisque c’est identique à la partie détail mais dans les sous-totaux j’ai les valeurs du pied d’état. Y-a t-il une solution pour ajouter du code qui intègre un sous-total dans 1 pied de groupe ?

Merci de votre aide…

USAC

code/

Option Compare Database

' ***** déclaration des variables ***** '

Const Nombre_colonnes = 31 ' Nombre maximum d'étiquettes sur l'état (par rapport à l'exemple) & _

on peut en afficher plus et donc modifier cette variable

Dim dbBase As DAO.Database

Dim rstEnregistrement As DAO.Recordset

Dim NbColonnes As Integer

Dim Total_colonnes(1 To Nombre_colonnes) As Long

Dim Total_etat As Long

Private Sub Report_Open(Annuler As Integer)

Dim rstRequete As DAO.QueryDef

Set dbBase = CurrentDb

Set rstRequete = dbBase.QueryDefs("R_Tempo_Unite")

Set rstEnregistrement = rstRequete.OpenRecordset()

'Définit le nombre de colonnes de la requête

NbColonnes = rstRequete.Fields.Count

End Sub

Private Sub Initvar()

Dim entX As Integer

Total_etat = 0

For entX = 1 To NbColonnes

Total_colonnes(entX) = 0

Next entX

End Sub

Private Sub EntêteÉtat_Format(Annuler As Integer, FormatCount As Integer)

rstEnregistrement.MoveFirst

Initvar

End Sub

Private Sub ZoneEntêtePage_Format(Cancel As Integer, FormatCount As Integer)

Dim entX As Integer

' Met les entêtes de colonnes

' dans des zones de texte dans la section Entête.

'For entX = 1 To NbColonnes

For entX = 2 To NbColonnes

Me("Entete" + Format(entX)) = rstEnregistrement(entX - 1).Name

Next entX

' Crée l'entête Totaux de la prochaine zone de liste disponible.

Me("Entete" + Format(NbColonnes + 1)) = "Totaux"

' Cache les zones de texte inutilisées dans la section Entête.

For entX = (NbColonnes + 2) To Nombre_colonnes

Me("Entete" + Format(entX)).Visible = False

Next entX

End Sub

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

Dim entX As Integer

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

Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)

Dim entX As Integer

Dim Nblignes As Long

'

If Me.PrintCount = 1 Then

Nblignes = 0

For entX = 4 To NbColonnes

Nblignes = Nblignes + Me("Detail" & entX)

Total_colonnes(entX) = Total_colonnes(entX) + Me("Detail" + Format(entX))

Next entX

Me("Detail" + Format(NbColonnes + 1)) = Nblignes

Total_etat = Total_etat + Nblignes

End If

''utiliser Détail_Print, PAS Détail_Format qui est appelé PLUSIEURS fois

If ([NoLigne] Mod 2) = 0 Then

Section(0).BackColor = vbWhite

Else

Section(0).BackColor = 13434879

‘ 'jaune pâle : joli et discret

' End If

End Sub

Private Sub Détail_Retreat()

' rstEnregistrement.MovePrevious

End Sub

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
10,02 €Adaptateur Bluetooth USB TP-Link UB400 à 10,02 €
Valable jusqu'au 08 Juin

Amazon fait une promotion sur l'adaptateur Bluetooth USB TP-Link UB400 qui passe à 10,02 €. Cet adaptateur à brancher sur un port USB va vous permettre d'ajouter le bluetooth à votre ordinateur et d'utiliser ensuite sans fil vos périphériques bluetooth : souris, clavier, casque, manette, téléphone, ...


> Voir l'offre
89,99 €Montre connectée Huawei Watch GT à 89,99 €
Valable jusqu'au 06 Juin

RueDuCommerce fait une promotion sur la montre connectée Huawei Watch GT qui passe à 89,99 € au lieu de 130 €. Avec son design avant-gardiste, sa lunette en céramique et son boitier en acier inoxydable, elle ne laissera personne indifférent. De plus, son écran AMOLED tactile de 1.39" vous apportera quant à lui toutes les informations dont vous avez besoin (GPS, notifications, ...), à tout moment de la journée. Offrant une autonomie exceptionnelle de 2 semaines, la Huawei Watch GT sera votre meilleure alliée pour vous accompagner partout, tout le temps. Elle intègre également la technologie Huawei TruSeen 3.0 afin de bénéficier d'un suivi régulier et permanent de votre rythme cardiaque. 


> Voir l'offre
13,28 €Micro clé USB 3.1 Sandisk Ultra Fit 64 Go à 13,28 €
Valable jusqu'au 06 Juin

Amazon fait une promotion sur la micro clé USB Sandisk Ultra Fit d'une capacité de 64 Go qui passe à 13,28 €. La minuscule taille de cette clé USB va vous permettre de la laisser brancher en permanence sur votre portable, votre TV ou votre autoradio sans qu'elle dépasse de manière disgracieuse. Sa compatibilité USB 3.1 lui permet d'atteindre des débits jusqu'à 130 Mo/s. 


> Voir l'offre

Sujets relatifs
État sous access 2003
Créer une requête, un état.....avec Access
Requête analyse croisée avec critère
Access 2003 : tri dans un état
PB à l'ouverture d'un état sur analyse croisée
Analyse croisée Access
Access Etat et Requete (Résolu)
[ACCESS+Etat sélection de l'affichage du mode par bouton]
Format de base de données non reconnu (access 2003)
Convertir Bases de données Access 2003 en LibreOffice Base
Plus de sujets relatifs à Access 2003 - Etat sur requete analyse croisée+VBA
 > Tous les forums > Forum Bureautique