USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Sistema Lento
Jorge
não registrado
Postada em 29/05/2004 19:07 hs   
Trabalho com SQL Server e Visual 6.0
 
Tenho um sistema financenceiro que funcionava perfeitamente uso msflexgrid atualizo registro por registro calculando o saldo o problema e que os registro aumentaram para 30 mil e o sistema leva 5 minutos para atualizar e quando o usuario pede para grava um novo registro ele demora mais 5 minuto e assim por diante sei que posso selecionar menos registro so que as informacoes e muito mesmo que pesso para selecionar o mes corrente ele fica muito lento sera que alguem pode me dizer o que fazer para melhorar a velocidade
 
qualquer ajuda sera bem vinda
 
obrigado
     
Vaughyman
RIO DE JANEIRO
RJ - BRASIL
Postada em 29/05/2004 19:51 hs            
Caro Colaborador,
 
Post aqui o codigo que vc esta usando para atuakizar o saldo, pois para esses tipos de calculos há diversas maneiras de fazer. Talvez vc esteja usando um laço muito grande quendo uma SQL bem formulada resolveria seu problema.
Envie a parte do codigo da atualizaçao e nos de mais detalhes a respeito...

"IF FUNCIONOU = TRUE THEN Emoções

     BLOQUEIE O POST

ELSE Emoções

    POST NOVAMENTE INFORMANDO O QUE ACONTECEU

ENDIF Emoções

     
Jorge
não registrado
Postada em 29/05/2004 22:12 hs   
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
   
     
Jorge
não registrado
Postada em 01/06/2004 09:29 hs   
estou precisando reservor isso
 
se alguem puder me ajudar
 
muito obrigado
     

não registrado
ENUNCIADA !
Postada em 01/06/2004 11:32 hs   
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página