Access2007: pb sur les ETAT ligne disparaiss

Résolu
GGuyle Messages postés 96 Statut Membre -  
GGuyle Messages postés 96 Statut Membre -
Bonjour,

J'ai fais un ETAT SOUS ACCESS avec un code en vb. Mais voilà les champs qui doivent disparaitre disparaisse quand il le faut mais aussi sur la première ligne de chaque page alors qu'elle ne devrait pas.

Voici le code utilisé avec commentaire:

Dim N As Integer
Dim cpt As Integer
____________________

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim col1 As Long: col1 = RGB(190, 190, 190)
Dim col2 As Long: col2 = RGB(220, 220, 220)

' Si différent = nouvelle rupture
If Me.NIntervention <> N Then
cpt = cpt + 1
N = Me.NIntervention

Me.Début.Visible = True
Me.Fin.Visible = True
Me.TpsPaC.Visible = True
Me.Transport.Visible = True
Me.Intervenant.Visible = True
Me.Noms.Visible = True
Else
Me.Début.Visible = False
Me.Fin.Visible = False
Me.TpsPaC.Visible = False
Me.Transport.Visible = False
Me.Intervenant.Visible = False
Me.Noms.Visible = False
End If

' En fonction du numéro de rupture
If (cpt Mod 2) = 0 Then
Me.Détail.BackColor = col1
Me.Détail.AlternateBackColor = col1
Else
Me.Détail.BackColor = col2
Me.Détail.AlternateBackColor = col2
End If

End Sub
__________________
Private Sub Report_Load()
N = 0
cpt = 0
End Sub

10 réponses

  1. Gaunts Messages postés 1390 Statut Membre 116
     
    Bonjour,

    Par première ligne, tu veux parler du titre de la collone?
    0
    1. GGuyle Messages postés 96 Statut Membre 3
       
      heu non pour les titre pas de pb
      0
  2. GGuyle Messages postés 96 Statut Membre 3
     
    non je parle d'un résultat de ma requête. En fait sur mon état, je fais une requête sur des intervention dans lequel il y a plusieurs tâches. Je voulais dans le cas des intervention ou il y a plusieurs taches supprimer certain doublons et mettre une couleur de fond pour chaque intervention différente. (cf rupture). Le problème c'est que mes résultat apparaissent sur plusieurs page (ça c'est normal) et pour toutes les première ligne de chaque page à part la première pages les champs :Début, Fin, TpsPaC, Transport, Intervenant, et Noms sont masqué, après pour les lignes suivante il n'y pas de problème. Les couleur de fond part contre change bien a chaque nouvelle intervention même pour une nouvelle page.
    0
  3. GGuyle Messages postés 96 Statut Membre 3
     
    Pour ceux qui n'ont pas compris voilà un liens de ce qu'il se passe.
    Regarder la 2éme page.

    https://www.fichier-pdf.fr/2010/08/17/2893yn5/
    0
    1. GGuyle Messages postés 96 Statut Membre 3
       
      Heu 2éme page 1ere ligne (de résultat) les 6 premières colonne
      0
    2. Gaunts Messages postés 1390 Statut Membre 116
       
      Je vois, si tu utilises un affichage sans différencier les pages, ces lignes sont aussi vides?
      Affiche la valeur de Me.NIntervention
      0
  4. GGuyle Messages postés 96 Statut Membre 3
     
    le num intervention est sur l'état mais je l'ai mis en non visible. en fait il est tout à droite après la colonne remarque
    0
    1. GGuyle Messages postés 96 Statut Membre 3
       
      J'ai fais un test en laissant visible Me.NIntervention mais ça change rien Début, Fin, TpsPaC, Transport, Intervenant, et Noms sont toujours masqué.
      0
    2. Gaunts Messages postés 1390 Statut Membre 116
       
      Affiche N en même temps, ils sont bien différents sur cette ligne?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GGuyle Messages postés 96 Statut Membre 3
     
    et je fais comment pour différencier les page car je pense aussi que le problème vient de là. Il faudrait que je dise pour chaque nouvelle page afficher la première ligne si c'est une nouvelle intervention.
    0
  7. Gaunts Messages postés 1390 Statut Membre 116
     
    Sous access2007 ouvre l'etat en mode page.
    Je ne pense pas que le problême vienne de là, mais bien des valeurs de N et NIntervention, essaye de les vérifier sur chaque ligne
    0
    1. GGuyle Messages postés 96 Statut Membre 3
       
      J'ai vérif je ne sais pas pourquoi mais une fois de tous les enregistrement sont paC il y a comme un deuxième passage
      0
    2. Gaunts Messages postés 1390 Statut Membre 116
       
      Tu as bien vérifié si NIntervention était différent de N sur cette ligne? Peut-être que le problême remonte directement au niveau de ta requête et des valeurs calculées.
      0
  8. GGuyle Messages postés 96 Statut Membre 3
     
    C'est bon pb résolu le tps de faire le test et je met le code.
    En faite il y a changement à faire sur les page. dire qu'on affiche tous les champs de la premiére ligne si c'est une nouvelle intervention et ne pas les afficher si c'est la suite.
    0
    1. Gaunts Messages postés 1390 Statut Membre 116
       
      Ah ok, bah tant mieux^^ poste ton code, ça me parrait quand même étrange comme problême
      0
  9. GGuyle Messages postés 96 Statut Membre 3
     
    Voilà mon new code:

    Dim N As Integer
    Dim cpt As Integer
    Dim pgn As Integer
    ____________
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    Dim col1 As Long: col1 = RGB(190, 190, 190)
    Dim col2 As Long: col2 = RGB(220, 220, 220)

    Dim first As Boolean

    If Me.Page <> pgn Then
    pgn = Me.Page
    first = True
    Else
    first = False
    End If


    ' Si différent = nouvelle rupture
    If Me.NIntervention <> N Then
    cpt = cpt + 1
    N = Me.NIntervention

    Me.Début.Visible = True
    Me.Fin.Visible = True
    Me.TpsPaC.Visible = True
    Me.Transport.Visible = True
    Me.Intervenant.Visible = True
    Me.Noms.Visible = True
    Else
    If first = False Then
    Me.Début.Visible = False
    Me.Fin.Visible = False
    Me.TpsPaC.Visible = False
    Me.Transport.Visible = False
    Me.Intervenant.Visible = False
    Me.Noms.Visible = False
    End If
    End If

    ' En fonction du numéro de rupture
    If (cpt Mod 2) = 0 Then
    Me.Détail.BackColor = col1
    Me.Détail.AlternateBackColor = col1
    Else
    Me.Détail.BackColor = col2
    Me.Détail.AlternateBackColor = col2
    End If

    End Sub
    ______________
    Private Sub Report_Load()
    N = 0
    pgn = 0
    cpt = 0
    End Sub
    0
    1. Gaunts Messages postés 1390 Statut Membre 116
       
      Ah d'accord, étrange que cela n'aie pas fonctionné directement!
      Tu pourrais metre
      If (Me.NIntervention <> N and first = true) then
      pour ne pas imbriquer un else et un if derière.
      0
    2. GGuyle Messages postés 96 Statut Membre 3
       
      Oui c'est vrai. Par contre j'ai un nouveau problème très chiant maintenant. Des que je sort de l'aperçue j'ai tjs un message qui me demande si je veux enr les modif structure de l'état alors que j'en fait pas et que j'ai bien enr après mes modif. Si j'enlève le code je n'ai plus ce message.... ARF !!!
      0
    3. Gaunts Messages postés 1390 Statut Membre 116
       
      Ca m'a déja fait un truc du genre, mais après avoir redémarré access, tout allait bien..
      0
  10. GGuyle Messages postés 96 Statut Membre 3
     
    après vérif mon pb vient de :

    If (cpt Mod 2) = 0 Then
    Me.Détail.BackColor = col1
    Me.Détail.AlternateBackColor = col1
    Else
    Me.Détail.BackColor = col2
    Me.Détail.AlternateBackColor = col2
    End If

    des que j'active cette partie de code des que je quitte soit l'état ou la base j'ai un message qui me demande si je sauvegarde la modification d structure.
    J'ai pas d'idée là...
    0
  11. GGuyle Messages postés 96 Statut Membre 3
     
    Ok problème définitivement résolu.
    Pour ne plus avoir un message qui nous demande si on veut enregistrer la structure voici ce qu'il faut ajouter.

    Private Sub Report_Page()
    DoCmd.Save acReport, Me.Name
    End Sub
    0