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

    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    [Resolvido]Se não digitar datas Imprime Tudo

    Mensagem  alantb em 13/9/2018, 15:48

    Bom dia pessoa, com base no tópico respondido pelo mestre JPaulo em [Você precisa estar registrado e conectado para ver este link.] 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

    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves em 13/9/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

    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  alantb em 13/9/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: 21/9/2018, 04:04