AJUDA COM MYSQL
Acho a melhor forma de fazer isto é sem salvar em uma tabela,mesmo
sendo uma tabela temporária.
Preencha o grid de forma normal.
Depois de preencher faz um Insert de todo seu Grid.
Este código foi postado por ACCIOLLY.
Fiz um teste com este código com um pouco de modficação.
Observe bem post acima mencionados.
Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click
Dim linhas As Integer = DataGridView1.Rows.Count [ô]quantidade de linhas
Dim colunas As Integer = DataGridView1.ColumnCount [ô]quantidade de colunas
Dim criterio As String = TextBox1.Text.Trim [ô]texto a ser buscado na grid
Dim resultado As Boolean = False [ô]condição caso retorne alguma coisa
For i As Integer = 0 To linhas
For j As Integer = 0 To colunas
Try
If DataGridView1.Rows(i).Cells(j).Value.ToString().Contains(criterio) Then [ô]caso a célula contenha o mesmo valor de criterio
If TextBox1.Text.Trim = [Ô][Ô] Then
MessageBox.Show([Ô]Nenhum resultado foi encontrado[Ô])
Exit Sub
Else
DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Red [ô]pinta a linha de vermelho
[ô] resultado = True [ô]atribui verdadeiro para o resultado
Dim modifica As DataGridViewRow = DataGridView1.Rows(i)
modifica.Cells(2).Value = 66 + modifica.Cells(2).Value [ô]aqui onde coloca a soma da celula com o outro valor.Mude a seu gosto
End If
End If
Catch ex As Exception
End Try
Next
Next
End Sub
sendo uma tabela temporária.
Preencha o grid de forma normal.
Depois de preencher faz um Insert de todo seu Grid.
Este código foi postado por ACCIOLLY.
Fiz um teste com este código com um pouco de modficação.
Observe bem post acima mencionados.
Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click
Dim linhas As Integer = DataGridView1.Rows.Count [ô]quantidade de linhas
Dim colunas As Integer = DataGridView1.ColumnCount [ô]quantidade de colunas
Dim criterio As String = TextBox1.Text.Trim [ô]texto a ser buscado na grid
Dim resultado As Boolean = False [ô]condição caso retorne alguma coisa
For i As Integer = 0 To linhas
For j As Integer = 0 To colunas
Try
If DataGridView1.Rows(i).Cells(j).Value.ToString().Contains(criterio) Then [ô]caso a célula contenha o mesmo valor de criterio
If TextBox1.Text.Trim = [Ô][Ô] Then
MessageBox.Show([Ô]Nenhum resultado foi encontrado[Ô])
Exit Sub
Else
DataGridView1.Rows(i).DefaultCellStyle.ForeColor = Color.Red [ô]pinta a linha de vermelho
[ô] resultado = True [ô]atribui verdadeiro para o resultado
Dim modifica As DataGridViewRow = DataGridView1.Rows(i)
modifica.Cells(2).Value = 66 + modifica.Cells(2).Value [ô]aqui onde coloca a soma da celula com o outro valor.Mude a seu gosto
End If
End If
Catch ex As Exception
End Try
Next
Next
End Sub
E em vb6?
Se é em vb6 ou .net a lógica sempre é a mesma. Como você está trabalhando com o vb6, deve saber como recuperar o valor de uma célula da Grid bem como a quantidade de linhas que ela contém. Você leu o minha última resposta?
Fiz direto pela consulta do vb mudando direto no banco não ficou um codigo bom mas funcionou da forma que eu esperava vai me atender
On Error GoTo trata
Dim vaores1 As Integer
Dim vaores2 As Integer
Dim vaores11 As Double
Dim vaores12 As Double
Dim vaores13 As Double
Dim resumos As Double
vaores1 = Text9
vaores13 = Text14
Connect
rs.Open [Ô]SELECT * FROM itens WHERE codig=[ô][Ô] & Text5 & [Ô][ô] AND descricao=[ô][Ô] & Text2 & [Ô][ô][Ô], CON, adOpenStatic, adLockOptimistic
vaores11 = rs.Fields([Ô]QUANTI[Ô]).Value
If rs!CODIG = Text5 And rs!descricao = rs!descricao Then
resumos = rs!valor + vaores13
rs.Fields([Ô]QUANTI[Ô]).Value = vaores1 + vaores11
rs.Fields([Ô]VALOR[Ô]).Value = Format(resumos, [Ô]##,#0.00[Ô])
rs.Update
End If
trata:
If Err.Number = 3021 Then
Connect
rs.Open [Ô]SELECT * FROM ITENS[Ô], CON, adOpenStatic, adLockOptimistic [ô]WHERE Código =[ô][Ô] & Text5 & [Ô][ô][Ô][Ô], CON, adOpenStatic, adLockOptimistic[Ô]
rs.AddNew
rs.Fields([Ô]CODIG[Ô]) = Text15.Text
rs.Fields([Ô]CATEGORIA[Ô]) = Text11
rs.Fields([Ô]VALORUNIT[Ô]) = Text8
rs.Fields([Ô]QUANTI[Ô]) = Text9
rs.Fields([Ô]DESCRICAO[Ô]) = Text10
rs.Fields([Ô]VALOR[Ô]) = Text14.Text
rs.Fields([Ô]DATE[Ô]) = Text16.Text
rs.Fields([Ô]DESCONTO[Ô]) = Text17
rs.Fields([Ô]CDO[Ô]) = Text18
rs.Fields([Ô]VENDEDOR[Ô]) = Text19
rs.Fields([Ô]DATESAIDA[Ô]) = Text20.Text
rs.Fields([Ô]CLIENT[Ô]) = Text23.Text
rs!grupo = Text6.Text
rs!subgrupo = Text12.Text
rs.Update
Disconnect
End If
Connect
rs.Open [Ô]SELECT * FROM ITENS WHERE CODIG =[ô][Ô] & Text15.Text & [Ô][ô][Ô], CON, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rs
ADD_CUPOMNAOFISCAL
Frame12.Visible = True
On Error GoTo trata
Dim vaores1 As Integer
Dim vaores2 As Integer
Dim vaores11 As Double
Dim vaores12 As Double
Dim vaores13 As Double
Dim resumos As Double
vaores1 = Text9
vaores13 = Text14
Connect
rs.Open [Ô]SELECT * FROM itens WHERE codig=[ô][Ô] & Text5 & [Ô][ô] AND descricao=[ô][Ô] & Text2 & [Ô][ô][Ô], CON, adOpenStatic, adLockOptimistic
vaores11 = rs.Fields([Ô]QUANTI[Ô]).Value
If rs!CODIG = Text5 And rs!descricao = rs!descricao Then
resumos = rs!valor + vaores13
rs.Fields([Ô]QUANTI[Ô]).Value = vaores1 + vaores11
rs.Fields([Ô]VALOR[Ô]).Value = Format(resumos, [Ô]##,#0.00[Ô])
rs.Update
End If
trata:
If Err.Number = 3021 Then
Connect
rs.Open [Ô]SELECT * FROM ITENS[Ô], CON, adOpenStatic, adLockOptimistic [ô]WHERE Código =[ô][Ô] & Text5 & [Ô][ô][Ô][Ô], CON, adOpenStatic, adLockOptimistic[Ô]
rs.AddNew
rs.Fields([Ô]CODIG[Ô]) = Text15.Text
rs.Fields([Ô]CATEGORIA[Ô]) = Text11
rs.Fields([Ô]VALORUNIT[Ô]) = Text8
rs.Fields([Ô]QUANTI[Ô]) = Text9
rs.Fields([Ô]DESCRICAO[Ô]) = Text10
rs.Fields([Ô]VALOR[Ô]) = Text14.Text
rs.Fields([Ô]DATE[Ô]) = Text16.Text
rs.Fields([Ô]DESCONTO[Ô]) = Text17
rs.Fields([Ô]CDO[Ô]) = Text18
rs.Fields([Ô]VENDEDOR[Ô]) = Text19
rs.Fields([Ô]DATESAIDA[Ô]) = Text20.Text
rs.Fields([Ô]CLIENT[Ô]) = Text23.Text
rs!grupo = Text6.Text
rs!subgrupo = Text12.Text
rs.Update
Disconnect
End If
Connect
rs.Open [Ô]SELECT * FROM ITENS WHERE CODIG =[ô][Ô] & Text15.Text & [Ô][ô][Ô], CON, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rs
ADD_CUPOMNAOFISCAL
Frame12.Visible = True
Tópico encerrado , respostas não são mais permitidas