MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Cálculo lentos em relatório

    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Cálculo lentos em relatório Empty Cálculo lentos em relatório

    Mensagem  rg3915 Qua 3 Jul - 15:24

    Meu aplicativo é compartilhado em rede para 4 usuários.
    Tenho um relatório baseado em consulta que faz pelo menos 400 cálculos distribuidos em 20 campos.
    Como eu faço para agilizar estes cálculos, visto que quando peço para gerar o relatório ele demora muito (via rede).
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  criquio Qua 3 Jul - 17:55

    Como está fazendo esses cálculos? Poste todos os detalhes.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  rg3915 Qua 3 Jul - 22:33

    O relatório tem 35 campos, é baseado em consulta com agrupamentos e soma.

    Exemplo:


    Código:
        Select Case printTabela
            Case Is = 1
                Me.Tabela1_Rótulo.Caption = "Tabela 1"
                Me.Tabela1.Visible = True
                Me.Tabela1.Left = 13110
                Me.Tabela1.Width = 1170
                Me.Tabela2.Visible = False
                'Me.Tabela2.Left = 14850
                Me.Tabela2.Left = 13110
                Me.Tabela2.Width = 0
                Me.Tabela3.Visible = False
                'Me.Tabela3.Left = 16590
                Me.Tabela3.Left = 13110
                Me.Tabela3.Width = 0
                
                Me.IPI1_Rótulo.Caption = "IPI 1"
                Me.IPI1.Visible = True
                Me.IPI1.Left = 14280
                Me.IPI1.Width = 570
                Me.IPI2.Visible = False
                Me.IPI2.Left = 14280
                Me.IPI2.Width = 0
                Me.IPI3.Visible = False
                Me.IPI3.Left = 14280
                Me.IPI3.Width = 0
            Case Is = 2
                Me.Tabela1_Rótulo.Caption = "Tabela 2"
                Me.Tabela1.Visible = False
                Me.Tabela2.Left = 13110
                Me.Tabela2.Width = 1170
                Me.Tabela2.Visible = True
                Me.Tabela1.Left = 13110
                Me.Tabela1.Width = 0
                Me.Tabela3.Visible = False
                Me.Tabela3.Left = 13110
                Me.Tabela3.Width = 0
            
                Me.IPI1_Rótulo.Caption = "IPI 2"
                Me.IPI1.Visible = False
                Me.IPI2.Left = 14280
                Me.IPI2.Width = 570
                Me.IPI2.Visible = True
                Me.IPI1.Left = 14280
                Me.IPI1.Width = 0
                Me.IPI3.Visible = False
                Me.IPI3.Left = 14280
                Me.IPI3.Width = 0
            Case Is = 3
                Me.Tabela1_Rótulo.Caption = "Tabela 3"
                Me.Tabela1.Visible = False
                Me.Tabela3.Left = 13110
                Me.Tabela3.Width = 1170
                Me.Tabela2.Visible = False
                Me.Tabela2.Left = 13110
                Me.Tabela2.Width = 0
                Me.Tabela3.Visible = True
                Me.Tabela1.Left = 13110
                Me.Tabela1.Width = 0
        
                Me.IPI1_Rótulo.Caption = "IPI 3"
                Me.IPI1.Visible = False
                Me.IPI3.Left = 14280
                Me.IPI3.Width = 570
                Me.IPI2.Visible = False
                Me.IPI1.Left = 14280
                Me.IPI1.Width = 0
                Me.IPI3.Visible = True
                Me.IPI2.Left = 14280
                Me.IPI2.Width = 0
        End Select

    Outro exemplo:

    Private Sub Report_Load()

        'Oculta o campo Opcao
        If IsNull(Me.Opcao) Then
            Me.Opcao.Visible = False
        End If
        
        'Oculta o campo SomaTotalMO
        If IsNull(Me.SomaTotalMO) Or Me.SomaTotalMO = 0 Then
            Me.SomaTotalMO.Visible = False
        End If
        
        'Oculta o campo Frete
        If IsNull(Me.Frete) Then
            Me.Frete.Visible = False
        End If
        
        'Oculta o campo DescontoTotal
        If IsNull(Me.DescontoTotal) Then
            Me.DescontoTotal.Visible = False
        End If
        
        'Oculta o CNPJ
        If IsNull(Me.CNPJ) Then
            Me.CNPJ.Visible = False
        Else
            Me.CNPJ.Visible = True
        End If
        
        'Oculta o CPF
        If IsNull(Me.CPF) Then
            Me.CPF.Visible = False
        Else
            Me.CPF.Visible = True
        End If
        
        If IsNull(Me.CNPJfoot) Or IsEmpty(Me.CNPJfoot) Then
            Me.CNPJfoot.Visible = False
            Me.CNPJlabel.Visible = False
        Else
            Me.CNPJfoot.Visible = True
            Me.CNPJlabel.Visible = True
        End If
            
        If IsNull(Me.CPFfoot) Or IsEmpty(Me.CPFfoot) Then
            Me.CPFfoot.Visible = False
            Me.CPFlabel.Visible = False
        Else
            Me.CPFfoot.Visible = True
            Me.CPFlabel.Visible = True
        End If
        
        'Oculta o Sinal
        If IsNull(Me.Sinal) Or IsEmpty(Me.Sinal) Then
            Me.Sinal.Visible = False
        End If
        
        'Oculta a Parcela2
        If IsNull(Me.Parcela2) Or IsEmpty(Me.Parcela2) Then
            Me.Parcela2.Visible = False
        End If
        
        'Oculta a Parcela3
        If IsNull(Me.Parcela3) Or IsEmpty(Me.Parcela3) Then
            Me.Parcela3.Visible = False
        End If
        
        'Oculta Obs
        If IsNull(Me.Obs) Or IsEmpty(Me.Obs) Then
            Me.Obslabel.Visible = False
            Me.Obs.Visible = False
        End If
        
        If Me.ValorFaturaProjeto = 0 Then
            Me.ValorFaturaProjeto.Visible = False
            Me.Rótulo226.Visible = False
            Me.Rótulo224.Visible = False
            Me.Texto221.Visible = False
            Me.Rótulo222.Visible = False
            Me.Rótulo223.Visible = False
            Me.Rótulo225.Visible = False
            Me.Rótulo228.Visible = False
            Me.Caixa349.Visible = False
            Me.Caixa351.Visible = False
            
        End If
        
        If Me.Frete = 0 Then
            Me.Frete.Visible = False
            Me.Rótulo438.Visible = True
        End If
        
        If Me.DescontoTotal = 0 Then
            Me.DescontoTotal.Visible = False
        End If
        
        If Me.DocPagto = "Depósito em Conta" Then
            Me.Rótulo407.Visible = True
            Me.Rótulo408.Visible = True
            Me.Rótulo409.Visible = True
            Me.Rótulo410.Visible = True
            Me.Rótulo411.Visible = True
            Me.Rótulo412.Visible = True
            Me.Caixa413.Visible = True
        Else
            Me.Rótulo407.Visible = False
            Me.Rótulo408.Visible = False
            Me.Rótulo409.Visible = False
            Me.Rótulo410.Visible = False
            Me.Rótulo411.Visible = False
            Me.Rótulo412.Visible = False
            Me.Caixa413.Visible = False
        End If
        
        'Altera a cor da Caixa45 IDAndar
        Select Case Me.Tabela
            Case Is = 1 'tabela 1
                Me.Caixa45.BackColor = RGB(55, 187, 89) 'Verde escuro
            Case Is = 2 'tabela 2
                Me.Caixa45.BackColor = RGB(240, 234, 0) 'Amarelo
            Case Is = 3 'tabela 3
                Me.Caixa45.BackColor = RGB(0, 176, 240) 'Ciano
        End Select
        
        If IsNull(Me.DataVencimento) Or IsEmpty(Me.DataVencimento) Then
            Me.DataVencimento.Visible = False
            Me.RótuloDataVencimento.Visible = False
        End If
        
        'Oculta o campo MO
        If Me.SomaTotalMO > 0 Then
            Me.RótuloMO.Visible = True
            Me.MO.Visible = True
            Me.Quantidade.Width = 550
            Me.Preco.Width = 1190
            Me.IPI.Width = 500
            Me.MO.Width = 1350
            Me.Total.Width = 1700
        End If
        
        'Oculta Torre
        If IsNull(Me.IDTorre) Or IsEmpty(Me.IDTorre) Then
            Me.IDTorre_Rótulo.Visible = False
            Me.IDTorre.Visible = False
            Me.Caixa73.Visible = False
            Me.RótuloSubtotalTorre.Visible = False
            Me.Soma_De_Preco2.Visible = False
        Else
            Me.IDTorre_Rótulo.Visible = True
            Me.IDTorre.Visible = True
            Me.Caixa73.Visible = True
            Me.RótuloSubtotalTorre.Visible = True
            Me.Soma_De_Preco2.Visible = True
        End If

        
        
    End Sub

    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  rg3915 Dom 15 Set - 23:20

    Meu relatório ainda continua lento porque tem muitos campos, o que faço?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  Avelino Sampaio Seg 16 Set - 3:43

    Você está culpando o relatório mas tudo indica que o culpado é a consulta.

    Mostre a construção desta consulta.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  rg3915 Seg 16 Set - 10:41

    Eu fiz um modelo mais simplificado.
    Na máquina local ele até que gera o relatório rápido,
    mas em rede ele demora quase 2 minutos.
    Detalhe: o relatório contém 1 imagem para cada produto.
    Mas veja que a consulta usa várias tabelas juntas.
    O Resumo então, demora mais ainda.
    Agradeço a atenção.
    Anexos
    Cálculo lentos em relatório Attachmentteste-de-relatorio.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (801 Kb) Baixado 3 vez(es)
    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  rg3915 Sex 20 Set - 9:27

    Avelino, não se esqueça de mim, por favor, estive pesquisando mais a respeito, mas sem sucesso.
    rg3915
    rg3915
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 119
    Registrado : 17/06/2013

    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  rg3915 Seg 23 Set - 21:04

    Ola, deu certo?
    Alguma posição?

    Conteúdo patrocinado


    Cálculo lentos em relatório Empty Re: Cálculo lentos em relatório

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 9 maio - 9:04