1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Problèmes Access des débutants
Sujet n° 364 |
Colorer une ligne d'enregistrement |
le 24/04/2010 : 23:09 par Lendcap
visiteur |
Bonjour Pierre,j'ai sur un etat dans la zone d'entête un champ DateDebut et dans la zone de detail j'ai plusieurs champs donc le champ Debut entre autre. Je voudrai sur chargement de l'etat comparer pour chaque ligne d'enregistrement la valeur du champ Debut à la valeur du champ DateDebut et colorer la ligne d'enregistrement si la valeur du champ Debut est inferieure à la valeur du champ Date debut. Comment devrais je proceder ?Merci bien pour votre aide Lendcap |
|
|
Réponse n° 1 -------- le 25/04/2010 : 00:57 par 3Stone
Administrateur
|
Bonjour,
Il suffit de récupérer la valeur du champ DateDebut et dans la section détail, on compare au champ Debut avec deux ligne de code. On déclare donc la variable en haut dans la section déclarative (au dessus de la première sub) et on récupère la valeur du champ. Ensuite le code dans la section détail...
Cela donne quelque chose comme
Code :'// Section déclarative Dim dDate As Date dDate = DateDebut ' Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) ' If [Debut] < dDate Then Me.Section(0).BackColor = vbRed Else Me.Section(0).BackColor = vbWhite End If End Sub
Cordialement, Pierre(3stone) |
|
|
Réponse n° 2 -------- le 27/04/2010 : 23:19 par Lendcap
visiteur |
Bonjour, Pierre,
j'ai essayé sur Format mais ça ne réagit même pas. Par contre quand j'essaye sur evènement Print il y a une réaction sauf que sur la première ligne où la condition est verifiée la couleur est activée et repétée alternativement après une ligne jusqu'à la fin de la page.
La deuxième condition n'appelle aucune réaction par contre même quand elle est verifiée sur evènement print.
Je crois que sur evènement format il manquerait quelque chose pour que ce code s'execute normalement ligne après ligne.
Lendcap |
|
|
Réponse n° 3 -------- le 28/04/2010 : 02:38 par 3Stone
Administrateur
|
Bonjour,
Ne touche pas au code sur formatage de la section détail Il faut juste t'assurer que la valeur du champ dans l'entête est bien "connue"
Donc, ajoute simplement un msgbox pour vérifier :
Dim dDate As Date dDate = DateDebut MsgBox dDate
et démarre ton état, le msgbox devrait t'afficher la valeur de la date.
Cordialement, Pierre(3stone) |
|
|
Réponse n° 4 -------- le 30/04/2010 : 21:29 par Lendcap
visiteur |
Bonjour Pierre,
Vraiment j'ai essayé tout ce que tu as demandé et aucune reaction sur format. j'ai même essayé MsgBox avec un autre champ de detail Etat et ça n'a même pas réagit pourtant quand je reprend la même procedure sur d'autres evènement notamment paint ou bien print ça réagit bien.
Je pense que qu'il manque peut être ue chose au niveau de evènement format.
Par ailleur quand je regarde le nombre de visiteur sur ce sujet en si peu de jours je comprends que plusieurs personnes doivent avoir le même problème que moi.
Merci bien pour ton coup de pouce.
Lendcap |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|