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]Se não digitar datas Imprime Tudo

    Compartilhe
    avatar
    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 25/07/2017

    [Resolvido]Se não digitar datas Imprime Tudo

    Mensagem  alantb em Qui 13 Set 2018 - 15:48

    Bom dia pessoa, com base no tópico respondido pelo mestre JPaulo em http://www.maximoaccess.com/t4454-resolvidocriar-consulta-com-caixa-de-combinacao-como-criterio, consegui filtrar um relatório com datas e combobox. Porém, da maneira que ficou exige sempre que tenha datas inicial e final digitadas senão não carrega nada. A consulta está assim nos critérios:

    Tem um form com:
    duas caixas de texto para datas - txtDe e txtAte
    uma caixa de combinação - ComboFuncionario
    uma caixa de texto oculta que recebe o valor do ComboFuncionario.Column(1) - txtNomeContato --->>>(evento ApósAtualizar do combobox)

    No campo "NomeContato" da Consulta em Critério - Como "*" & [Forms]![frmRelRegLigacoes]![txtNomeContato] & "*"
    No campo "NroData" da Consulta em critério - É Negado Nulo E Entre [Forms]![frmRelRegLigacoes]![txtDe] E [Forms]![frmRelRegLigacoes]![txtAte]

    A pergunta é a seguinte: como testar esses controles se estão digitados ou não. Como fica para que se os controles estiverem em branco imprime TODOS os registros.

    ALAN

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7127
    Registrado : 05/11/2009

    Re: [Resolvido]Se não digitar datas Imprime Tudo

    Mensagem  Alexandre Neves em Qui 13 Set 2018 - 16:44

    Boa tarde
    if len("" & [Forms]![frmRelRegLigacoes]![txtNomeContato])=0 then 'controlo vazio

    if len("" & [Forms]![frmRelRegLigacoes]![txtNomeContato] & [Forms]![frmRelRegLigacoes]![txtDe] & [Forms]![frmRelRegLigacoes]![txtAte])=0 then 'estão todos vazios


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 25/07/2017

    Re: [Resolvido]Se não digitar datas Imprime Tudo

    Mensagem  alantb em Qui 13 Set 2018 - 21:24

    Caro colega Alexandre Neves, enquanto tentava usar a solução que enviaste anteriormente, lembrei de uma maneira alternativa mas que deu certo aqui para mim. Criei cópias do relatório e de suas respectivas consultas para cada tipo de seleção: TODOS, NOME ou somente DATAS. Valeu a atenção estou encerrando por aqui. Até mais!!

    Veja como ficou:

    Private Sub cmdImprime_Click()

    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And IsNull(Me.ComboFuncionario) Then 'txts e combo em branco; ConsultaRegistroRelTodos
    DoCmd.OpenReport "RelRegLigacoesTodos", acViewPreview
    Exit Sub
    End If

    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And Not IsNull(ComboFuncionario) Then ' só txts em branco; ConsultaRegistroRelNome
    DoCmd.OpenReport "RelRegLigacoesNome", acViewPreview
    Exit Sub
    End If

    If Not IsNull(Me.txtDe) And Not IsNull(Me.txtAte) And IsNull(ComboFuncionario) Then ' txts digitados; combo vazio;
    DoCmd.OpenReport "RelRegLigacoes", acViewPreview 'ConsultaRegistroRel
    Exit Sub
    End If


    End Sub

      Data/hora atual: Sex 22 Fev 2019 - 17:22