MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Melhorar desempenho consulta

    Compartilhe
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3133
    Registrado : 06/11/2009

    [Resolvido]Melhorar desempenho consulta

    Mensagem  Assis em Sab 16 Dez 2017, 19:39

    Boa noite Amigos

    1º - Na BD que anexo, como melhorar o desempenho ao carregar o formulário "Acessos".

    2º Na parte superior do formulário tem uma caixa de combinação "Usuario", ao alterar essa caixa filtrar a caixa de listagem conforme o selecionado na caixa Usuario, mas via VBA.

    Obrigado
    Anexos
    BD Assis.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1 Mb) Baixado 10 vez(es)


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3133
    Registrado : 06/11/2009

    Re: [Resolvido]Melhorar desempenho consulta

    Mensagem  Assis em Dom 17 Dez 2017, 22:38

    up


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 13/09/2016

    Re: [Resolvido]Melhorar desempenho consulta

    Mensagem  José Machado em Seg 18 Dez 2017, 10:39

    Bom dia Amigo


    Removi as formatações da Instrução SQL, e criando um Método para Preencher a lista:
    Depois é só chamar o método onde precisar...


    Private Sub Form_Load()
    On Error Resume Next
    Call Center(Me)
    Call fncPermissões(Me)
    Preencher_list_box 'Aqui chama o método
    End Sub

    Sub Preencher_list_box()
    Dim query As String
    Dim conexao As DAO.Database
    Dim data_reader As DAO.Recordset

    query = "SELECT DISTINCTROW QryTabAcessos.NAcesso, QryTabAcessos.Usuário, DataAcesso AS Data, HoraAcesso AS Hora, HoraSaida AS Saida, tempo AS Usado " & _
    " FROM QryTabAcessos " & _
    " GROUP BY QryTabAcessos.NAcesso, QryTabAcessos.Usuário, DataAcesso, HoraAcesso, HoraSaida, tempo " & _
    " ORDER BY QryTabAcessos.NAcesso DESC;"

    Set conexao = CurrentDb
    Set data_reader = conexao.OpenRecordset(query)

    Set Me.lst_1.Recordset = Nothing
    Set Me.lst_1.Recordset = data_reader


    Set record_set = Nothing
    Set conexao = Nothing
    End Sub


    Att
    José
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3133
    Registrado : 06/11/2009

    Re: [Resolvido]Melhorar desempenho consulta

    Mensagem  Assis em Seg 18 Dez 2017, 11:11

    Bom dia José

    Obrigado, parece um Ferrari.

    E o ponto 2 da minha msg, tem como ?



    .................................................................................
    *** Só sei que nada sei ***
    avatar
    José Machado
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 13/09/2016

    Re: [Resolvido]Melhorar desempenho consulta

    Mensagem  José Machado em Seg 18 Dez 2017, 11:35

    Amigo...

    Segunda solução

    Private Sub CaixaCombinação73_AfterUpdate()
    Preencher_list_box
    End Sub

    Sub Preencher_list_box()
    Dim query As String
    Dim conexao As DAO.Database
    Dim data_reader As DAO.Recordset

    query = "SELECT DISTINCTROW QryTabAcessos.NAcesso, QryTabAcessos.Usuário, DataAcesso AS Data, HoraAcesso AS Hora, HoraSaida AS Saida, tempo AS Usado " & _
    " FROM QryTabAcessos " & _
    " WHERE QryTabAcessos.Usuário LIKE '*" & CaixaCombinação73 & "*' " & _
    " GROUP BY QryTabAcessos.NAcesso, QryTabAcessos.Usuário, DataAcesso, HoraAcesso, HoraSaida, tempo " & _
    " ORDER BY QryTabAcessos.NAcesso DESC;"

    Set conexao = CurrentDb
    Set data_reader = conexao.OpenRecordset(query)

    Set Me.lst_1.Recordset = Nothing
    Set Me.lst_1.Recordset = data_reader


    Set record_set = Nothing
    Set conexao = Nothing
    End Sub




    Att
    José
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3133
    Registrado : 06/11/2009

    Re: [Resolvido]Melhorar desempenho consulta

    Mensagem  Assis em Seg 18 Dez 2017, 12:19

    Obrigado José

    Bom Natal santa


    .................................................................................
    *** Só sei que nada sei ***

      Data/hora atual: Qua 17 Jan 2018, 20:01