Bonjour,
je suis bloqué sur un problème de mise en forme:
j'ai une liste dans un formulaire qui affiche l'ID et le nom des elements d'une table en se basant sur une requete (liste classique en somme).
requete :
1 2
|
SELECT [RESTAURANT_HEBERGEMENT].[RH_ID], [DATA].[DAT_nom] FROM RESTAURANT_HEBERGEMENT, DATA WHERE [RH_DATA]=[DAT_ID] ORDER BY [DAT_NOM] |
j'obtient :
1 2 3 4 5
|
1 ... lenom1
2 ... lenom2
3 ... lenom3
...etc... |
Seulement je voudrais l'améliorer avec un peu de couleur (ou un bout de texte si c'est impossible) en fonction du resultat d'une fonction.
voici ce que j'ai fait :
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
|
Private Sub build_Liste()
Dim v_date As Date
v_date = Date
Liste.ColumnHeads = True
Liste.ColumnCount = 2
Liste.ColumnWidths = "1,5cm;2,542cm"
Liste.RowSource = "ID;NOM"
req = "SELECT [RESTAURANT_HEBERGEMENT].[RH_ID], [DATA].[DAT_nom], [DATA].[DAT_DATE_DEBUT], [DATA].[DAT_DATE_FIN] FROM RESTAURANT_HEBERGEMENT, DATA WHERE [RH_DATA]=[DAT_ID] ORDER BY [DAT_NOM]"
Set rst = CurrentDb.OpenRecordset(req)
If rst.RecordCount <> 0 Then
rst.MoveFirst
While rst.EOF = False
On Error Resume Next
'TestDate retourne vrai si les dates sont valides
If TestDate(v_date, rst![DAT_DATE_DEBUT], rst![DAT_DATE_FIN]) Then
Liste.RowSource = Liste.RowSource & ";" & rst![RH_ID] & ";" & rst![dat_nom]
Else
Liste.RowSource = Liste.RowSource & ";" & rst![RH_ID] & " - XXX;" & rst![dat_nom]
End If
rst.MoveNext
Wend
End If
End Sub |
j'obtient :
1 2 3 4 5
|
1 ... lenom1
2 - XXX... lenom2
3 ... lenom3
...etc... |
C'est bon ca marche hormis une chose :
Liste.RowSource = Liste.RowSource & ";" & rst![RH_ID] & ";" & rst![dat_nom]
on est limité en taille pour le RowSource, donc il me manque les 9/10eme de mes enregistrements.
auriez vous des idées/solutions (sans passer par la création d'une table) ?
et pour la couleur, au lieu de mettre un XXX je prefererai avoir une ligne en rouge, est ce faisable?
Partager