cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009
-
7 sept. 2009 à 11:29
cs_DUMEDO
Messages postés19Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 9 septembre 2009
-
9 sept. 2009 à 16:44
Bonjour
je désire remplir une MSFlexGrid à partir d'une base acess
Le petit code joint fonctionne mais il ne m'affiche qu'une réponse alors qu'il y a plusieur réponse....
Set db = DBEngine.Workspaces(0).OpenDatabase("C:\DOSSIER\BASE.mdb")
sql = "SELECT * FROM TOTO where NUMERO like '" & Text1.Text & "*'"
Set ds = db.CreateDynaset(sql)
If ds.EOF Then
Titre = "RECHERCHE JOURNEE"
Message = "Aucune fiche avec ce N°, réessayer ?"
Reponse = MsgBox(Message, 48 + 4, Titre)
If Reponse = 7 Then Unload ME
End If
ligne = 1
Do Until ds.EOF
MSFlexGrid1.Rows = 0
MSFlexGrid1.Cols = 3
MSFlexGrid1.ColWidth(0) = 1500
MSFlexGrid1.ColWidth(1) = 1800
MSFlexGrid1.ColWidth(2) = 500
MSFlexGrid1.AddItem ds("CHAMPS1") & Chr(9) & ds("CHAMPS2") & Chr(9) & ds("CHAMPS3")
ds.MoveNext
MSFlexGrid1.Rows = ligne + 1
Loop
End If
Comment alterner la couleur des lignes (1 bleu puis 1 jaune et ainsi de suite)
Comment bloquer le clique dans la seconde colonne ?
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 7 sept. 2009 à 15:03
+ "ligne + 1" donnera toujours 2 puisque tu n'incrémentes pas "ligne"
Apprends à debuguer avec les touches F9, F8 et F5 pour suivre pas à pas ce que fait ton programme, tu trouveras les erreurs beaucoup rapidement que sur le forum.
xpert12
Messages postés114Date d'inscriptionlundi 5 février 2007StatutMembreDernière intervention10 septembre 2010 7 sept. 2009 à 16:57
Salut,
je suis à la bourre, je te laisse ce bout de code pour la couleur. Si j'ai le temps, je reviendrai sur ton message.
'coloriser des lignes
*************************
Private Sub couleur_lignes()
With MSFlexGrid1
'Colorer les lignes
If .Rows > 1 Then
For i = 1 To .Rows - 1
'Lignes paires rouge
If (i - 1) Mod 2 <> 0 Then
.Row = i
For j = 1 To .Cols - 1
.COL = j
.CellBackColor = RGB(249, 170, 170)
Next
End If
Next
End If
End With
xpert12
Messages postés114Date d'inscriptionlundi 5 février 2007StatutMembreDernière intervention10 septembre 2010 9 sept. 2009 à 15:37
Salut,
Si mon code marche pas, c'est sûrement parce que j'ai oublié de déclaré les variables i et j :
il suffit de rajouter en ligne 2 :
Dim i, j As Integer
Ok, j'avoue c'est un gros oubli !!!
Voici donc le code corrigé :
'coloriser des lignes
*************************
Private Sub couleur_lignes()
With MSFlexGrid1
Dim i, j As Integer
'Colorer les lignes
If .Rows > 1 Then
For i = 1 To .Rows - 1
'Lignes paires en rose
If (i - 1) Mod 2 <> 0 Then
.Row = i
For j = 1 To .Cols - 1
.Col = j
.CellBackColor = RGB(249, 170, 170)
Next
End If
Next
End If
End With