MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


5 participantes

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

    avatar
    AErmel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  AErmel 10/5/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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves 10/5/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
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Fernando Bueno 10/5/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
    [Resolvido]não abrir se não tiver dados 16rzeq
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  wsenna 10/5/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
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Avelino Sampaio 10/5/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


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  wsenna 10/5/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
    avatar
    AErmel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  AErmel 10/5/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
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Fernando Bueno 11/5/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
    [Resolvido]não abrir se não tiver dados 16rzeq

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 00:54