Datagrid VB 6 erro

pepatusco

Membro
Boas pessoal!!!!!
Aqui estou a pedir ajuda! :002:
É assim eu tenho um formulário em visual basic 6.0 que mostra através de um ADODC os dados de obras efectuadas por uma firma!
Dentro desse formulário eu tenho um DataGrid que mostra os números dos funcionários da firma que tiveram nessa obra e mostra também o numero de horas que la tiveram!
O meu datagrid mostra 8 registos, quando são mais que 8 aparece-me o scrollbar.
Neste mesmo form eu tenho um botão que vai procurar o numero da pessoa no datagrid e procura o registo num outro adodc o numero do respectivo funcionário e depois multiplica o valor que ele ganha por hora (definido na tabela funcionários no 2º adodc) por o campo que esta no datagrid.
O meu problema é que isto é calculado dentro de um ciclo for que corre linha por linha do datagrid e calcula os valores. Quando eu só tenho 8 ou menos registos no datagrid a conta bate certo mas quando são mais do que 8 em que me aparece o scrollbar quando chega ao fim o VB dá-me um erro -> erro 6148 - Invalid Row Number.
Eu não sei como corrigir este erro. Alguém me pode ajudar?
Para complicar, ou não mais a situação, vou deixar aqui o código do botão:8|

Código:
Private Sub Command12_Click()
conta = 0
a = 0
If MsgBox("Tem a certeza que deseja calcular os custos de mão de obra?", vbYesNo, "Calculos") = vbYes Then
For i = 0 To grdDataGrid.ApproxCount - 1
grdDataGrid.Row = (a)
MsgBox (grdDataGrid.CurrentCellVisible)
grdDataGrid.ScrollBars = dbgAutomatic
a = a + 1
Adodc2.Recordset.MoveFirst
Do While grdDataGrid.Columns(2).Text <> Text4.Text
If Adodc2.Recordset.EOF Then
GoTo sair
Else
Adodc2.Recordset.MoveNext
End If
Loop
Operarios.verifica2
conta = conta + (grdDataGrid.Columns(5) * Text5.Text) + (grdDataGrid.Columns(6) * Operarios.Text5.Text)
conta = conta + (grdDataGrid.Columns(7) * Text6.Text) + (grdDataGrid.Columns(8) * Text7.Text)
conta = conta + (grdDataGrid.Columns(9) * Operarios.Text8.Text) + (grdDataGrid.Columns(10) * Operarios.Text9.Text)
Next i
MsgBox (conta)
End If
sair:
End Sub
Obrigado malta e desculpem o incomodo!!!!!!!
 
Última edição:
O que está a acontecer é que com o data grid só consegues somar até ao limite de linhas visiveis, no teu caso são 8. Para corrigir esse problema podes fazer o scroll via código ou então usares os dados do recordset para fazer a soma.
 
Back
Topo