MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Ajuda com consulta e atualização de sub formulário (SQL/VBA)

    Compartilhe

    Zeno
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 27/04/2016

    [Resolvido]Ajuda com consulta e atualização de sub formulário (SQL/VBA)

    Mensagem  Zeno em Sex 15 Jul 2016, 15:23

    Olá a todos do fórum.

    Estou aprendendo a utilizar consultas com o auxilio de VBA, eu consegui montar uma consulta entre datas com sucesso, porém, agora me deparo com um problema.
    O filtro da minha consulta foi escrito tanto na consulta(tbl_cons), como em duas funçôes(PesquisaEN e PesquisaSA), que são executadas ao apertar o botão, para tornar um programa mais bonito para mim decidir criar um subformulário capaz de me mostrar os valores filtrados da consulta(sub_cons) só que ele não está atualizando corretamente, usando a função " DoCmd.OpenQuery "tbl_cons" " eu vejo que os valores filtrados na consulta estão corretos, porém os valores no subformulário ficam errados.

    Eu procurei na internet alguma ajuda ou dica, porém sem sucesso.

    Como posso atualizar o meu subformulário corretamente?

    PS.:Eu criei duas funções pois uma vai procurar as datas na coluna entrada e a outra na coluna saída. Com o auxilio do VBA aprendi a usar a mesma consulta para consultar valores em colunas diferente.
    Estou anexando meu programa pois posso não ter sido muito claro .

    Agradeço desde já.

    Zeno

    study
    Anexos
    Datas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (260 Kb) Baixado 3 vez(es)

    philipp.moreira
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 185
    Registrado : 05/02/2016

    Re: [Resolvido]Ajuda com consulta e atualização de sub formulário (SQL/VBA)

    Mensagem  philipp.moreira em Sex 15 Jul 2016, 17:39

    Zeno, boa tarde!

    Minha opnião e visão são que a consulta [tbl_cons] criada por você já referencia diretamente os campos do formulário [frm_data], sendo assim, basta que em ambas as funções ([PesquisaEN] e [PesquisaSA]) você apenas reference o campo que deve ser considerado como critério [Entrada/Saida] e alterar script da consulta, como você já esta fazendo. Alias como o objetivo das duas não tem como retorno de nenhum valor ao invés de funções poderia recriar como um Módulo/Sub.

    Segue abaixo, veja se atende sua necessidade e bons estudos. Precisando estamos ai . . .

    Código:

    Option Compare Database
    Function PesquisaEN() As Variant
       
        ' VARIAVEIS
        Dim db As DAO.Database
        Dim qdf As DAO.QueryDef
        Dim strSQL As String
       
        ' INICIALIZANDO VARIAVEIS
        Set db = CurrentDb
        Set qdf = db.QueryDefs("tbl_cons")
       
        ' DEFININDO A CONSULTA
        strSQL = "SELECT Dados.* " & _
                "FROM Dados " & _
                "WHERE Dados.Entrada BETWEEN Forms!frm_data.Texto0.Value AND Forms!frm_data.Texto2.Value ;"
       
        ' ALTERANDO SCRIPT DA CONSULTA [TBL_CONS]
        qdf.SQL = strSQL
       
        ' ENCERRANDO VARIAVEIS
        Set qdf = Nothing
        Set db = Nothing
        strSQL = ""
       
    End Function

    Function PesquisaSA() As Variant

        ' VARIAVEIS
        Dim db As DAO.Database
        Dim qdf As DAO.QueryDef
        Dim strSQL As String
       
        ' INICIALIZANDO VARIAVEIS
        Set db = CurrentDb
        Set qdf = db.QueryDefs("tbl_cons")
       
        ' DEFININDO A CONSULTA
        strSQL = "SELECT Dados.* " & _
                "FROM Dados " & _
                "WHERE Dados.Saida BETWEEN Forms!frm_data.Texto0.Value AND Forms!frm_data.Texto2.Value ;"

        ' ALTERANDO SCRIPT DA CONSULTA [TBL_CONS]
        qdf.SQL = strSQL
       
        ' ENCERRANDO VARIAVEIS
        Set qdf = Nothing
        Set db = Nothing
        strSQL = ""
       
    End Function

    Private Sub Comando4_Click()

        ' VERIFICANDO QUAL CAMPO USUÁRIO ESCOLHEU COMO CRITÉRIO
        Select Case Quadro9
            'CAMPO DE ENTRADA
            Case 1
                Call PesquisaEN
           
            'CAMPO DE SAÍDA
            Case 2
                Call PesquisaSA
               
        End Select
       
        ' EXECUTANDO ATUALIZAÇÃO DO SUBFORMULÁRIO
        Me.sub_cons.Requery
       
    End Sub

    Zeno
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 27/04/2016

    Re: [Resolvido]Ajuda com consulta e atualização de sub formulário (SQL/VBA)

    Mensagem  Zeno em Seg 18 Jul 2016, 17:27

    Olá philipp.moreira.

    Respondendo a pergunta, eu não utilizei o Módulo pois não tenho pratica com ele e estou treinando trabalhar com funções no access.
    A minha dúvida ainda persiste, eu descobri que o subformulário está realizando sempre a última consulta antes de fechar no passado (se a função era para pesquisar na entrada ou na saída) porem, está informação ainda não ajudou tanto.

    Zeno
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    Registrado : 27/04/2016

    Re: [Resolvido]Ajuda com consulta e atualização de sub formulário (SQL/VBA)

    Mensagem  Zeno em Seg 18 Jul 2016, 18:50

    Olá Pessoal.

    Consegui resolver meu problema, não foi da forma que gostaria mas consigo olhar os registros corretos agora.

    Oque fiz foi, excluir o subformulário e a cada pesquisa abrir o formulário vinculado a minha consulta, com a aparência de uma folha de dados. Assis os registros exibidos são sempre os referentes a minha consulta atual, independente do campo onde estou pesquisando.

    Valeu pela ajuda, e se souberem de outra forma de fazer por favor me informem.

    Zeno

    study

      Data/hora atual: Sab 10 Dez 2016, 04:58