gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006
-
8 nov. 2006 à 10:52
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006
-
8 nov. 2006 à 14:53
Bonjour à tous!
J'ai un petit souci et ça fait deux jours que je suis la dessus.
En fait, à la base j'ai récupéré des données de ma base de données (requête sql) car celles-ci me sont utile pour effectuer un calcul de productivité " KmLgth".
Je souhaite maintenant écrire les résultats obtenus dans une colonne d'un MSFlexgrid. Par exemple dans la colonne 2.
Mais je n'ai pas trouvé la propriété qu'il faut utiliser pour écrire dans le tableau.
Pouvez-vous m'aidez SVP, SVP, SVP...
Merci d'avance.
Voici le bout de code:
For ij = 0 To frmShiftReport.Adodc1.Recordset.RecordCount
If frmShiftReport.Adodc1.Recordset.RecordCount > 0 Then
frmShiftReport.Adodc1.Recordset.MoveFirst
Do While Not frmShiftReport.Adodc1.Recordset.EOF
NbDoff = frmShiftReport.Adodc1.Recordset.Fields!DoffCNT
YarnLength = frmShiftReport.Adodc1.Recordset.Fields!YarnLgth
ShiftTime = frmShiftReport.Adodc1.Recordset.Fields!ShiftTIM
YnCount = frmShiftReport.Adodc1.Recordset.Fields!YarnCount
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 8 nov. 2006 à 11:01
????,
Tu veux mettre le résultat d'un recordset dans un MSH
Utilise ma fonction
Tu dois créer uhne connexion ADODB
Elle marche du tonnerre!
Tout ce que tu as à faire, c'est une fonction d'initialisation de ta flex
Pour choisir la largeur des colonnes , la position des valeur dans chaque colonne et la hauteur des lignes et leurs propriétés
'Rempli Une msh comme si elle etait relié à un adodc (structure,données)
'En fait, j'ai remarqué que ça allé plus vite que de la lié à un ADODC
Public Sub ADOMSH(ByVal Conn As ADODB.Connection, Frm As Form, MSH As String, ByVal sql As String, Optional CL As Boolean = False)
Dim I As Integer
Dim j As Integer
Dim MSH_Rows As Integer
Dim MSH_Cols As Integer
On Error GoTo Redraw
rsG.Open sql, Conn, 1, 2
Frm(MSH).Redraw = False
MSH_Rows = rsG.RecordCount + 1 'Nombre de lignes totales
MSH_Cols = rsG.Fields.Count 'Nombre de colonnes totales
Frm(MSH).Cols = MSH_Cols
'Si ya plus d'une ligne
If rsG.RecordCount > 1 Then
Frm(MSH).Rows = MSH_Rows
Else
Frm(MSH).Rows = 2
Frm(MSH).Row = 1
For I = 0 To MSH_Cols - 1
Frm(MSH).Col = I
Frm(MSH).Text = ""
Next I
End If
'Renseigne le nom des colonnes
Frm(MSH).Row = 0
For I = 0 To MSH_Cols - 1
Frm(MSH).Col = I
Frm(MSH).Text = rsG.Fields(I).Name
Next I
'Rempli la MSH avec les valeurs fournies par la requête.
j = 1 '1 pour passer la ligne des titres
While rsG.EOF = False
Frm(MSH).Row = j
For I = 0 To MSH_Cols - 1
Frm(MSH).Col = I
If rsG(I).Type = adDouble Then
Frm(MSH).Text = Format(fn(rsG(I).Type, rsG(I)), "# ### ##0.00")
Else
Frm(MSH).Text = fn(rsG(I).Type, rsG(I))
End If
Next I
j = j + 1
rsG.MoveNext
Wend
rsG.Close
Frm(MSH).Redraw = True
If CL = True Then
'Met une ligne sur 2 en BleuClair
For I = 1 To Frm(MSH).Rows - 1
For j = 0 To Frm(MSH).Cols - 1 Frm(MSH).Row I: Frm(MSH).Col j If I Mod 2 1 Then Frm(MSH).CellBackColor Bleu_Clair
Next j
Next I
End If
Frm(MSH).SetFocus 'Mets le curseur sur la première cellule du tableau Frm(MSH).Col 0: Frm(MSH).Row 1
Exit Sub
Redraw: 'Permet d'afficher le résultat obtenu juste avant l'erreur
Frm(MSH).Redraw = True
End Sub
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 8 nov. 2006 à 12:47
Dans une boucle ou une double-boucle en utilisant le compteur
If Rs.Recordcount > 0 then
For i = 0 to Rs.Recordcount
grid1.textMatrix(i + 1,0) = Rs!MonChamp
ou sur plusieurs colonnes
For i = 0 to Rs.Recordcount
For j = 0 to rs.Fields.Count
Grid1.textmatrix(i + 1, j) = Rs.Fields(j)
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 8 nov. 2006 à 11:01
????,
Tu veux mettre le résultat d'un recordset dans un MSH
Utilise ma fonction
Tu dois créer uhne connexion ADODB
Elle marche du tonnerre!
Tout ce que tu as à faire, c'est une fonction d'initialisation de ta flex
Pour choisir la largeur des colonnes , la position des valeur dans chaque colonne et la hauteur des lignes et leurs propriétés
'Rempli Une msh comme si elle etait relié à un adodc (structure,données)
'En fait, j'ai remarqué que ça allé plus vite que de la lié à un ADODC
Public Sub ADOMSH(ByVal Conn As ADODB.Connection, Frm As Form, MSH As String, ByVal sql As String, Optional CL As Boolean = False)
Dim I As Integer
Dim j As Integer
Dim MSH_Rows As Integer
Dim MSH_Cols As Integer
On Error GoTo Redraw
rsG.Open sql, Conn, 1, 2
Frm(MSH).Redraw = False
MSH_Rows = rsG.RecordCount + 1 'Nombre de lignes totales
MSH_Cols = rsG.Fields.Count 'Nombre de colonnes totales
Frm(MSH).Cols = MSH_Cols
'Si ya plus d'une ligne
If rsG.RecordCount > 1 Then
Frm(MSH).Rows = MSH_Rows
Else
Frm(MSH).Rows = 2
Frm(MSH).Row = 1
For I = 0 To MSH_Cols - 1
Frm(MSH).Col = I
Frm(MSH).Text = ""
Next I
End If
'Renseigne le nom des colonnes
Frm(MSH).Row = 0
For I = 0 To MSH_Cols - 1
Frm(MSH).Col = I
Frm(MSH).Text = rsG.Fields(I).Name
Next I
'Rempli la MSH avec les valeurs fournies par la requête.
j = 1 '1 pour passer la ligne des titres
While rsG.EOF = False
Frm(MSH).Row = j
For I = 0 To MSH_Cols - 1
Frm(MSH).Col = I
If rsG(I).Type = adDouble Then
Frm(MSH).Text = Format(fn(rsG(I).Type, rsG(I)), "# ### ##0.00")
Else
Frm(MSH).Text = fn(rsG(I).Type, rsG(I))
End If
Next I
j = j + 1
rsG.MoveNext
Wend
rsG.Close
Frm(MSH).Redraw = True
If CL = True Then
'Met une ligne sur 2 en BleuClair
For I = 1 To Frm(MSH).Rows - 1
For j = 0 To Frm(MSH).Cols - 1 Frm(MSH).Row I: Frm(MSH).Col j If I Mod 2 1 Then Frm(MSH).CellBackColor Bleu_Clair
Next j
Next I
End If
Frm(MSH).SetFocus 'Mets le curseur sur la première cellule du tableau Frm(MSH).Col 0: Frm(MSH).Row 1
Exit Sub
Redraw: 'Permet d'afficher le résultat obtenu juste avant l'erreur
Frm(MSH).Redraw = True
End Sub
gon_ak
Messages postés197Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention17 novembre 2006 8 nov. 2006 à 12:34
Salut MPI,
Merci pour ta réponse, mais comment je pourrais m'y prendre pour afficher tous les résultats car en employant ta méthode il m'affiche seulement le résultat du dernier enregistrement.
STP j'ai vraiment besoin d'aide
Merci d'avance