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]não abrir se não tiver dados

    Compartilhe

    AErmel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 27/01/2012

    [Resolvido]não abrir se não tiver dados

    Mensagem  AErmel em Sab 10 Maio 2014, 10:53

    Boas

    Tenho um formulário para liberação de requisições financeiras....
    Em não tendo requisições a liberar, o formulário abre em branco.....
    Pergunto se é possível, a exemplo da opção que temos em relatórios, não abrir se não tiver dados, se podemos fazer o mesmo com o formulário.
    Não abrir o formulário e mostrar uma mensagem "No momento não existem requisições a serem liberadas"


    grato
    AErmel
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  Alexandre Neves em Sab 10 Maio 2014, 11:25

    Bom dia,
    Semelhante ao relatório: crie recordset de dados a carregar pelo formulário; se não tiver dados não abre o formulário


    .................................................................................
    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
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1932
    Registrado : 13/04/2012

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  Fernando Bueno em Sab 10 Maio 2014, 12:21

    Bom dia amigos, com permissão do grande mestre Alexandre Neves

    Uso dessa forma:

    If Form.RecordsetClone.RecordCount = 0 Then
    MsgBox "Não existem dados para exibir", vbExclamation, "Sem dados!"
    DoCmd.Close acForm, "NomeDoFormulario"
    Exit Sub
    End If


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    wsenna
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  wsenna em Sab 10 Maio 2014, 13:45

    Olá Senhores, permitam-me o pitaco:

    Supondo que um sub formulário não possua dados o correto seria:

    No evento Ao Abrir do formulário principal insira o código abaixo.

    Private Sub Form_Open(Cancel As Integer)
    If Me.NomeDoSubformulário.Form.RecordsetClone.RecordCount = 0 Then
    MsgBox "Sua Mensagem.    ", vbExclamation, "  Atenção"
    DoCmd.Close acForm, "SeuFormulárioPrincipal"
    Exit Sub
    End If
    End Sub



    Abraços, WSenna
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  Avelino Sampaio em Sab 10 Maio 2014, 14:09

    Bom, não ficou claro se o teste é no formulário ou se é em um subformulário.

    Agora, por que não se utilizar do argumento CANCEL ?

    Private Sub Form_Open(Cancel As Integer)
    If Me.Recordset.RecordCount = 0 Then
       MsgBox "Sem dados...", vbInformation, "Aviso"
       Cancel = TRUE
    End If
    End Sub


    Wagner, na verdade não é nome do subformulário e sim nome do CONTROLE subformulário.  Isso pode trazer uma pegadinha para os mais novos.

    Private Sub Form_Open(Cancel As Integer)
    If Me!NomeDoControleSubformulário.Form.RecordsetClone.RecordCount = 0 Then
      MsgBox "Sua Mensagem.    ", vbExclamation, "  Atenção"
      cancel = TRUE
    End If
    End Sub
    avatar
    wsenna
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  wsenna em Sab 10 Maio 2014, 14:35

    Grande Mestre Avelino, bom dia.

    Amigão, concordo plenamente com você mas preferi usar o termo NomeDoSubformulário para facilitar o entendimento dos nossos amigos.
    Quanto ao argumento Cancel realmente o código fica muito mais enxuto, contudo, após a mensagem principal surge nova mensagem da Microsoft "A ação Openform foi cancelada" e isso não é legal.

    Um grande abraço e tenha um ótimo final de semana.

    WSenna

    AErmel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 27/01/2012

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  AErmel em Sab 10 Maio 2014, 23:54

    Boas

    Alexandre - A ideia era esta mesmo.
    Fernando - Funcionou com o código indicado.
    Wagner - Deu erro 2445 --- Você inseriu uma expressão que contem uma referencia invalida à propriedade Form/Report
    Avelino - Funcionou com o código indicado.

    Trata-se de formulário com sub formulário - Se não houverem requisições para liberar, ambos não conterão dados - vinculo pelo numero da requisição.
    Melhor mesmo é tratar na abertura do formulário.
    Ficou bem simplificado...

    Agradecimentos a todos e bom fim de semana.

    AErmel
    avatar
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1932
    Registrado : 13/04/2012

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  Fernando Bueno em Dom 11 Maio 2014, 04:15

    Pra você também amigo, bom final de semana..


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    crysostomo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 23/01/2018

    Re: [Resolvido]não abrir se não tiver dados

    Mensagem  crysostomo em Qui 08 Mar 2018, 19:58

    colegas não consegui nenhuma desses ,  um amigo do forum  me mostrou outro tipo e tbm não deu certo , e esse código só da 1 erro .
    alguem pode me ajudar?
    o objetivo é que ele mostre que a data digitada nem tem no relatório.

    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: Sex 25 Maio 2018, 19:42