Function faIndex(Row As Integer, Col As Integer) As Integer
faIndex = Col + MSFlexGrid1.Cols * Row
End Function
Sub Atualizar_Registro()
On Error GoTo Erro
'Abrea a Tabela Fluxo
Set rsLancamento = CreateObject("ADODB.Recordset")
If Not Telas = "Caixa" Then
rsLancamento.Open "Select F.ID, F.Data, F.Doc, Fav.Descricao, Sub.Descricao, Est.Descricao, F.Observacao, F.ChekOK, F.Recebimento, F.Pagamento, F.Conta, F.Tipo, F.Identificador, F.idPonto, F.idLinha from Fluxo F inner Join Favorecidos Fav on F.Favorecido = Fav.ID inner Join SubCategoria Sub on F.SubCategoria = Sub.ID Inner Join Estabelecimentos Est on F.Estabelecimento = Est.ID where F.Conta ='" & ContaCorrente & "' and Tipo ='" & Telas & "' and F.Data ='" & Format(Date, "YYYY/MM/DD") & "' order by 2, 9 desc", conn, adOpenKeyset, adLockPessimistic
Else
rsLancamento.Open "Select F.ID, F.Data, F.Doc, Fav.Descricao, Sub.Descricao, Est.Descricao, F.Observacao, F.ChekOK, F.Recebimento, F.Pagamento, F.Conta, F.Tipo, F.Identificador, F.idPonto, F.idLinha from Fluxo F inner Join Favorecidos Fav on F.Favorecido = Fav.ID inner Join SubCategoria Sub on F.SubCategoria = Sub.ID Inner Join Estabelecimentos Est on F.Estabelecimento = Est.ID where F.Conta ='" & ContaCorrente & "'order by 2, 9 desc", conn, adOpenKeyset, adLockPessimistic
End If
MSFlexGrid1.Redraw = False
'Atualizar o flex
Linha = 0
MSFlexGrid1.Clear
MSFlexGrid1.Rows = 2
MSFlexGrid1.Cols = 15
With rsLancamento
'Atualiza os registros
While Not .EOF
Linha = Linha + 1
MSFlexGrid1.Rows = Linha + 1
MSFlexGrid1.Row = Linha
MSFlexGrid1.Col = 1: If Not IsNull(.Fields(0)) Then MSFlexGrid1.Text = .Fields(0)
MSFlexGrid1.Col = 2: If Not IsNull(.Fields(1)) Then MSFlexGrid1.Text = .Fields(1)
Select Case Telas
Case "Lancamento", "Caixa"
MSFlexGrid1.Col = 3: If Not IsNull(.Fields(2)) Then MSFlexGrid1.Text = .Fields(2)
Case "Recebimento Ponto", "Pagamento Ponto"
MSFlexGrid1.Col = 3: If Not IsNull(.Fields(13)) Then MSFlexGrid1.Text = .Fields(13)
Case "Recebimento Linha", "Pagamento Linha"
MSFlexGrid1.Col = 3: If Not IsNull(.Fields(14)) Then MSFlexGrid1.Text = .Fields(14)
End Select
MSFlexGrid1.Col = 4: If Not IsNull(.Fields(3)) Then MSFlexGrid1.Text = .Fields(3)
MSFlexGrid1.Col = 5: If Not IsNull(.Fields(4)) Then MSFlexGrid1.Text = .Fields(4)
MSFlexGrid1.Col = 6: If Not IsNull(.Fields(5)) Then MSFlexGrid1.Text = .Fields(5)
MSFlexGrid1.Col = 7: If Not IsNull(.Fields(6)) Then MSFlexGrid1.Text = .Fields(6)
MSFlexGrid1.Col = 8: If Not IsNull(.Fields(7)) Then MSFlexGrid1.Text = .Fields(7)
MSFlexGrid1.Col = 9: If Not IsNull(.Fields(8)) Then MSFlexGrid1.Text = Format(.Fields(8), "###,##0.00")
MSFlexGrid1.Col = 10: If Not IsNull(.Fields(9)) Then MSFlexGrid1.Text = Format(.Fields(9), "###,##0.00")
MSFlexGrid1.Col = 12: If Not IsNull(.Fields(10)) Then MSFlexGrid1.Text = .Fields(10)
MSFlexGrid1.Col = 13: If Not IsNull(.Fields(11)) Then MSFlexGrid1.Text = .Fields(11)
MSFlexGrid1.Col = 14: If Not IsNull(.Fields(12)) Then MSFlexGrid1.Text = .Fields(12)
'Formata os campos Credito e Debito
If Not IsNull(.Fields(8)) Then xCredito = Format(.Fields(8), "###,##0.00") Else xCredito = 0
If Not IsNull(.Fields(9)) Then xDebito = Format(.Fields(9), "###,##0.00") Else xDebito = 0
'Soma o total
If MSFlexGrid1.Rows > 2 Then
MSFlexGrid1.Col = 11: MSFlexGrid1.Text = Format((ValorSaldo + xCredito - xDebito), "###,##0.00")
Else
MSFlexGrid1.Col = 11: MSFlexGrid1.Text = Format((xCredito - xDebito + SaldoBanco), "###,##0.00")
End If
MSFlexGrid1.Row = Linha: MSFlexGrid1.Col = 11: ValorSaldo = Format(MSFlexGrid1.Text, "###,##0.00")
'Caso seja valor negativo muda a cor para vermelho
MSFlexGrid1.Col = 11
If MSFlexGrid1.Text < 0 Then
MSFlexGrid1.Col = 11: MSFlexGrid1.CellForeColor = RGB(255, 0, 0)
End If
.MoveNext
Wend
End With
'Fecha a tabela
rsLancamento.Close
Set rsLancamento = Nothing