SALTAR LINHA NO MSHFLEXGRID

USUARIO.EXCLUIDOS 06/06/2007 09:02:37
#219953
Bom dia,,, fiz um sql que retorna o que preciso em um mshflexgrid,,agora preciso executar um calculo em cada linha do mshflexgrid, então estou usando o
"Do While Not Rs.EOF"
e no fim do calculo coloco
"Rs.MoveNext
Loop"
Gostaria de saber porque não salta para a proxima linha, o valor fica sempre na primeira linha do mshflexgrid não executa nas demais,, ou se eu devo usar outro comando ao inves do RS.MoveNext , se for isso qual comando deverei usar... Caso alguem possa me auxiliar Agradeço, Obrigado.
USUARIO.EXCLUIDOS 06/06/2007 09:08:13
#219956
o rs.movenext, moverá para o proximo registro, porém não mudará a linha do flexgrid.

Se quisser post o código todo que damos uma força.
LCSD 06/06/2007 09:08:35
#219957
O Cálculo VC deve e pode estar até fazendo corretamente, o seu problema deve ser na hora de exibir no mshflexgrid esse cálculo que VC fez.

Será que VC poderia postar o código completo para que possamos dar uma verificada geral no código e corrigir eventuais erros.
USUARIO.EXCLUIDOS 06/06/2007 09:54:34
#219967
Segue o codigo completo,, e meio longo,,,porque meche com a planilha de excell . O que acontece e que eu debugo e depois que passa no Mshflexgrid o valor do colun e sempre o da primeira linha do gris não o da segunda e assim por diante,, Valeu moçada.


Set Rs = New ADODB.Recordset
Sql = "Select * From tbmerc Where lote Like '" & Txtlote.Text & "%' ORDER BY codigo"
Module.AbrirConexao
Rs.Open Sql, cnnproagro, adOpenKeyset, adLockPessimistic
Set Grid.DataSource = Rs

If Not Rs.EOF Then


Do While Not Rs.EOF
Grid.col = 9
colun = Grid.Text


If colun = cel1 Then
MsgBox "COL1!"
Dim custr01 As String
Dim valcustr1 As String
Dim valcustr11 As String
Dim valcusbr11 As String
Dim valcusus11 As String
Dim valcuspr11 As String

Grid.col = 11
custr01 = Grid.Text

valcustr1 = custr01 / coeficiente
Grid.col = 10
valcustr1 = "" & Format(valcustr1, "###,###,##0.00")
Grid.Text = valcustr1
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr11 = valcustr1 * tcusths1
Grid.col = 14
valcustr11 = "" & Format(valcustr11, "###,###,##0.00")
Grid.Text = valcustr11
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr11 = valcustr1 * tcustbr1
Grid.col = 13
valcusbr11 = "" & Format(valcusbr11, "###,###,##0.00")
Grid.Text = valcusbr11
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus11 = valcustr1 * tcustus1
Grid.col = 12
valcusus11 = "" & Format(valcusus11, "###,###,##0.00")
Grid.Text = valcusus11
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr11 = valcusus11 * tcustus1
Grid.col = 15
valcuspr11 = "" & Format(valcuspr11, "###,###,##0.00")
Grid.Text = valcuspr11
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If
If colun = cel2 Then
MsgBox "COL2!"
Dim custr02 As String
Dim valcustr2 As String
Dim valcustr22 As String
Dim valcusbr22 As String
Dim valcusus22 As String
Dim valcuspr22 As String

Grid.col = 11
custr02 = Grid.Text

valcustr2 = custr02 / coeficiente
Grid.col = 10
valcustr2 = "" & Format(valcustr2, "###,###,##0.00")
Grid.Text = valcustr2
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr22 = valcustr2 * tcusths2
Grid.col = 14
valcustr22 = "" & Format(valcustr22, "###,###,##0.00")
Grid.Text = valcustr22
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr22 = valcustr2 * tcustbr2
Grid.col = 13
valcusbr22 = "" & Format(valcusbr22, "###,###,##0.00")
Grid.Text = valcusbr22
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus22 = valcustr2 * tcustus2
Grid.col = 12
valcusus22 = "" & Format(valcusus22, "###,###,##0.00")
Grid.Text = valcusus22
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr22 = valcusus22 * tcustus2
Grid.col = 15
valcuspr22 = "" & Format(valcuspr22, "###,###,##0.00")
Grid.Text = valcuspr22
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If

If colun = cel3 Then
MsgBox "COL3!"
Dim custr03 As String
Dim valcustr3 As String
Dim valcustr33 As String
Dim valcusbr33 As String
Dim valcusus33 As String
Dim valcuspr33 As String

Grid.col = 11
custr03 = Grid.Text

valcustr3 = custr03 / coeficiente
Grid.col = 10
valcustr3 = "" & Format(valcustr3, "###,###,##0.00")
Grid.Text = valcustr3
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr33 = valcustr3 * tcusths3
Grid.col = 14
valcustr33 = "" & Format(valcustr33, "###,###,##0.00")
Grid.Text = valcustr33
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr33 = valcustr3 * tcustbr3
Grid.col = 13
valcusbr33 = "" & Format(valcusbr33, "###,###,##0.00")
Grid.Text = valcusbr33
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus33 = valcustr3 * tcustus3
Grid.col = 12
valcusus33 = "" & Format(valcusus33, "###,###,##0.00")
Grid.Text = valcusus33
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr33 = valcusus33 * tcustus3
Grid.col = 15
valcuspr33 = "" & Format(valcuspr33, "###,###,##0.00")
Grid.Text = valcuspr33
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql


End If
If colun = cel4 Then
MsgBox "COL4!"
Dim custr04 As String
Dim valcustr4 As String
Dim valcustr44 As String
Dim valcusbr44 As String
Dim valcusus44 As String
Dim valcuspr44 As String

Grid.col = 11
custr04 = Grid.Text

valcustr4 = custr04 / coeficiente
Grid.col = 10
valcustr4 = "" & Format(valcustr4, "###,###,##0.00")
Grid.Text = valcustr4
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr44 = valcustr4 * tcusths4
Grid.col = 14
valcustr44 = "" & Format(valcustr44, "###,###,##0.00")
Grid.Text = valcustr44
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr44 = valcustr4 * tcustbr4
Grid.col = 13
valcusbr44 = "" & Format(valcusbr44, "###,###,##0.00")
Grid.Text = valcusbr44
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus44 = valcustr4 * tcustus4
Grid.col = 12
valcusus44 = "" & Format(valcusus44, "###,###,##0.00")
Grid.Text = valcusus44
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr44 = valcusus44 * tcustus4
Grid.col = 15
valcuspr44 = "" & Format(valcuspr44, "###,###,##0.00")
Grid.Text = valcuspr44
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If
If colun = cel5 Then
MsgBox "COL5!"
Dim custr05 As String
Dim valcustr5 As String
Dim valcustr55 As String
Dim valcusbr55 As String
Dim valcusus55 As String
Dim valcuspr55 As String

Grid.col = 11
custr05 = Grid.Text

valcustr5 = custr05 / coeficiente
Grid.col = 10
valcustr5 = "" & Format(valcustr5, "###,###,##0.00")
Grid.Text = valcustr5
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr55 = valcustr5 * tcusths3
Grid.col = 14
valcustr55 = "" & Format(valcustr55, "###,###,##0.00")
Grid.Text = valcustr55
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr55 = valcustr5 * tcustbr5
Grid.col = 13
valcusbr55 = "" & Format(valcusbr55, "###,###,##0.00")
Grid.Text = valcusbr55
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus55 = valcustr5 * tcustus5
Grid.col = 12
valcusus55 = "" & Format(valcusus55, "###,###,##0.00")
Grid.Text = valcusus55
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr55 = valcusus55 * tcustus5
Grid.col = 15
valcuspr55 = "" & Format(valcuspr55, "###,###,##0.00")
Grid.Text = valcuspr55
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If
If colun = cel6 Then
MsgBox "COL6!"
Dim custr06 As String
Dim valcustr6 As String
Dim valcustr66 As String
Dim valcusbr66 As String
Dim valcusus66 As String
Dim valcuspr66 As String

Grid.col = 11
custr06 = Grid.Text

valcustr6 = custr06 / coeficiente
Grid.col = 10
valcustr6 = "" & Format(valcustr6, "###,###,##0.00")
Grid.Text = valcustr6
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr66 = valcustr6 * tcusths6
Grid.col = 14
valcustr66 = "" & Format(valcustr66, "###,###,##0.00")
Grid.Text = valcustr66
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr66 = valcustr6 * tcustbr6
Grid.col = 13
valcusbr66 = "" & Format(valcusbr66, "###,###,##0.00")
Grid.Text = valcusbr66
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus66 = valcustr6 * tcustus6
Grid.col = 12
valcusus66 = "" & Format(valcusus66, "###,###,##0.00")
Grid.Text = valcusus66
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr66 = valcusus66 * tcustus6
Grid.col = 15
valcuspr66 = "" & Format(valcuspr66, "###,###,##0.00")
Grid.Text = valcuspr66
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If
If colun = cel7 Then
MsgBox "COL7!"
Dim custr07 As String
Dim valcustr7 As String
Dim valcustr77 As String
Dim valcusbr77 As String
Dim valcusus77 As String
Dim valcuspr77 As String

Grid.col = 11
custr07 = Grid.Text

valcustr7 = custr07 / coeficiente
Grid.col = 10
valcustr7 = "" & Format(valcustr7, "###,###,##0.00")
Grid.Text = valcustr7
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr77 = valcustr7 * tcusths7
Grid.col = 14
valcustr77 = "" & Format(valcustr77, "###,###,##0.00")
Grid.Text = valcustr77
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr77 = valcustr7 * tcustbr7
Grid.col = 13
valcusbr77 = "" & Format(valcusbr77, "###,###,##0.00")
Grid.Text = valcusbr77
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus77 = valcustr7 * tcustus7
Grid.col = 12
valcusus77 = "" & Format(valcusus77, "###,###,##0.00")
Grid.Text = valcusus77
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr77 = valcusus77 * tcustus7
Grid.col = 15
valcuspr77 = "" & Format(valcuspr77, "###,###,##0.00")
Grid.Text = valcuspr77
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If
If colun = cel8 Then
MsgBox "COL8!"
Dim custr08 As String
Dim valcustr8 As String
Dim valcustr88 As String
Dim valcusbr88 As String
Dim valcusus88 As String
Dim valcuspr88 As String

Grid.col = 11
custr08 = Grid.Text

valcustr8 = custr08 / coeficiente
Grid.col = 10
valcustr8 = "" & Format(valcustr8, "###,###,##0.00")
Grid.Text = valcustr8
Sql = "UPDATE tbmerc SET custor='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcustr88 = valcustr8 * tcusths8
Grid.col = 14
valcustr88 = "" & Format(valcustr88, "###,###,##0.00")
Grid.Text = valcustr88
Sql = "UPDATE tbmerc SET cusths='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusbr88 = valcustr8 * tcustbr8
Grid.col = 13
valcusbr88 = "" & Format(valcusbr88, "###,###,##0.00")
Grid.Text = valcusbr88
Sql = "UPDATE tbmerc SET custbr='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcusus88 = valcustr8 * tcustus8
Grid.col = 12
valcusus88 = "" & Format(valcusus88, "###,###,##0.00")
Grid.Text = valcusus88
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

valcuspr88 = valcusus88 * tcustus8
Grid.col = 15
valcuspr88 = "" & Format(valcuspr88, "###,###,##0.00")
Grid.Text = valcuspr88
Sql = "UPDATE tbmerc SET custus='" & Grid.Text & "'"
cnnproagro.Execute Sql

End If



Rs.MoveNext
Loop


Rs.Close
Set Rs = Nothing
Module.FecharConexao
End If
End Sub
USUARIO.EXCLUIDOS 06/06/2007 10:39:53
#219985
i-1
Do While Not Rs.EOF

valor = valor * cdbl(mshflex.textmatrix(i,4))
Rs.MoveNext
i = i + 1
wend

USUARIO.EXCLUIDOS 06/06/2007 11:36:29
#220005
Resposta escolhida
para pular a linha na grid
faz assim onde voce quer pular

 Grid.rows = grid.rows + 1


espero ter ajudado
USUARIO.EXCLUIDOS 06/06/2007 15:17:26
#220053
Obrigado a todos que me auxiliaram neste problema,,, Usei o Grid.Row ideia do marcelo e deu certo, so que usei Row ao inves de Rows. Valeu Moçada.
Tópico encerrado , respostas não são mais permitidas