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


2 participantes

    [Resolvido]Contar Registos num Formulário Filtrado

    avatar
    ppereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 16/01/2012

    [Resolvido]Contar Registos num Formulário Filtrado Empty Contar Registos num Formulário Filtrado

    Mensagem  ppereira 1/2/2012, 18:38

    Boas

    Estou com um problema para conseguir fazer uma verificação num formulário.
    Tenho um formulário continuo filtrado onde apenas aparecem os registos onde um determinado campo é nulo.

    No cabeçalho do formulário coloquei uma caixa que me conta o n de registos visiveis =Contar([CodArtigo]), onde CodArtigo é uma campo chave (obrigatório preencher)

    Queria que quando não houvesse registos para mostrar, ou seja Contar([CodArtigo]) = 0 ele fechasse o formulário.

    Usei o seguinte código:
    Private Sub Form_Load()
    'COUNTREG Campo com o valor de Contar([CodArtigo])
    If COUNTREG Is Null Then DoCmd.Close
    End If
    End Sub


    Tão simples, mas nunca fiz a rotina e não estou a conseguir ver o problema
    avatar
    Convidad
    Convidado


    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  Convidad 1/2/2012, 18:46


    Tente assim:

    Private Sub Form_Open(Cancel As Integer)
    If Me.CountReg = 0 Then
    Cancel = True
    Exit Sub
    End If
    End Sub


    avatar
    ppereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 16/01/2012

    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  ppereira 2/2/2012, 11:23

    Não resolveu.

    Private Sub Form_Open(Cancel As Integer)
    If Me.COUNTREG = 0 Then
    Cancel = True
    Exit Sub
    End If
    End Sub

    ERROR 2427


    Última edição por ppereira em 2/2/2012, 11:55, editado 1 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  Convidad 2/2/2012, 11:51


    Possivelmente o campo não retorna o valor zero quando não não há registros.
    Então tente assim:

    Private Sub Form_Open(Cancel As Integer)
    If Me.CountReg = 0 Or IsNull(Me.CountReg) Then
    Cancel = True
    Exit Sub
    End If
    End Sub


    avatar
    ppereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 16/01/2012

    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  ppereira 2/2/2012, 12:19

    Acho que tem a ver com o tipo de dado que retorna a função contar() no sql, porque ele não consegue avaliar a expressão

    If Me.CountReg = 0 Or IsNull(Me.CountReg) Then
    avatar
    Convidad
    Convidado


    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  Convidad 2/2/2012, 12:38


    E a propriedade Nome do campo CountReg é mesmo CountReg?
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  JPaulo 2/2/2012, 12:42

    O simples de fazer fechar um formulario, se não existirem registros;


    No evento VBA ao carregar do seu formulario:

    Private Sub Form_Load()
    If Me.Form.Recordset.RecordCount = 0 Then
    MsgBox "Não há registos..."
    DoCmd.Close
    End If
    End Sub





    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Contar Registos num Formulário Filtrado Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Contar Registos num Formulário Filtrado Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Contar Registos num Formulário Filtrado Folder_announce_new Instruções SQL como utilizar...
    avatar
    ppereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 16/01/2012

    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  ppereira 2/2/2012, 12:45

    Já resolvi.

    Deixei de usar o contador do formulário e conto directamente na consulta programado por VBA na instrução OPEN do formulário.

    intctr = DCount("[CodArtigo]", "MATERIAISCons", "[FAMILIA] = null")

    Depois é só

    If intholder = 0 Then
    Cancel = True
    Exit sub

    Estive a ler sobre as propriedades de Contar() directamente no sql e devolve um valor double, e não sei como programar VBA com o valor Double.
    Devia ser esse o problema.

    Obrigado pela ajuda.
    Pedro

    EDIT: Desculpe JPaulo, só vi a sua resposta depois de escrever isto, já agora vou testar, já digo alguma coisa.
    avatar
    ppereira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 16/01/2012

    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  ppereira 2/2/2012, 12:51

    Caro JPaulo

    É isso mesmo, está mesmo a funcionar como queria.
    Grande Obrigado

    Pedro

    Conteúdo patrocinado


    [Resolvido]Contar Registos num Formulário Filtrado Empty Re: [Resolvido]Contar Registos num Formulário Filtrado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 11:00