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


4 participantes

    [Resolvido]Limitar numero de registros no Subform!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 09:43

    Olá pessoal, muito bom dia!

    Tenho um formulário com um subformulário, eu queria que cada formulário novo que eu gerasse, seria limitado 25 registros no sub form! Ele ficaria tipo uma planilha do excel com apenas 25 linhas para a digitação.
    Isso seria possível? Segue o bd anexado!
    Anexos
    limitar - [Resolvido]Limitar numero de registros no Subform! AttachmentLIMITAR REGISTROS NO SUB FORM.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (144 Kb) Baixado 142 vez(es)
    avatar
    Convidad
    Convidado


    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Convidad 29/3/2012, 12:38


    Olá,
    Tente isto, no subformulário:


    Private Sub Form_BeforeInsert(Cancel As Integer)
    On Error GoTo Trato
    Dim rs As DAO.Recordset
    Set rs = Me.RecordsetClone
    rs.MoveLast
    If rs.RecordCount > 25 Then
    Cancel = True
    MsgBox "O limite máximo de registros foi atingido."
    End If
    rs.Close
    Set rs = Nothing
    Exit Sub
    Trato:
    MsgBox Err.Description
    End Sub

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 13:00

    Bom dia Norberto!

    Risos,,,, ainda bem que temos você aqui no forum, com capacidade, entendimento, humildade e disposição para ajudar.
    Funcionou perfeitamente, um abraço!
    avatar
    Convidad
    Convidado


    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Convidad 29/3/2012, 13:03


    Gratos pelo retorno.

    Abraço!
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Silvio 29/3/2012, 13:10

    Bom dia a todos...

    Com permissão Noberto, testei ele aqui no próprio exemplo do Lupércio ( bom dia você também Lupércio ) e fiz uma alteração.

    Private Sub Form_BeforeInsert(Cancel As Integer)
    On Error GoTo Trato
    Dim rs As DAO.Recordset
    Set rs = Me.RecordsetClone
    rs.MoveLast
    If rs.RecordCount >= 25 Then *****coloquei o sinal de =, pois estava passando para 26
    Cancel = True
    MsgBox "O limite máximo de registros foi atingido."
    End If
    rs.Close
    Set rs = Nothing
    Exit Sub
    Trato:
    MsgBox Err.Description
    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 13:14

    bom dia Silvio
    É o seguinte é porque no meu caso vou trabalhar com 25 registros, começando da 00:00 horas até as 24:00 horas ai funcionou perfeito.
    avatar
    Convidad
    Convidado


    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Convidad 29/3/2012, 13:33


    Até tinha feito com o igual, mas depois editei... rsrsrs
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 14:18

    Companheiros:
    É o seguinte quando, abro um form novo e vou digitar o primeiro horário no form,,, aparece uma mensagem "Nenhum registro atual" está aparecendo agora depois que inseri o código acima, tem como eliminar essa mensagem?
    avatar
    Convidad
    Convidado


    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Convidad 29/3/2012, 15:54


    Creio que o problema é que quando não há registros, o rs.MoveLast não tem como ir para o último registro.

    Mude esta linha:
    MsgBox Err.Description
    Para:
    MsgBox Err.Number

    Para verificar o n° do erro, e então vamos tratá-lo.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 23:19

    Norberto boa noite á você e todos do forum!

    Mudei a linha que você sugeriu ai apareceu um erro "3021"

    Ai eu exclui aquela linha,
    veja o código e funcionou ele broqueia após os 25 registros e quando é um form novo não aparece mais a mensagem.

    Private Sub Form_BeforeInsert(Cancel As Integer)
    On Error GoTo Trato
    Dim rs As DAO.Recordset
    Set rs = Me.RecordsetClone
    rs.MoveLast
    If rs.RecordCount >= 25 Then
    Cancel = True
    MsgBox "O limite máximo de registros foi atingido."
    End If
    rs.Close
    Set rs = Nothing
    Exit Sub
    Trato:
    End Sub


    Funcionou será que pode deixar assim sem o Mgbox final!

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 23:34

    O código funcionou mas cada vez que abro um form novo, quando digito o primeiro registro que é a 00:00 horas ele da uma mensagem, " Nenhum registro atual". Ai eu clica em ok, e digitava normalmente, só que eu não queria aquela mensagem, o Norberto sugeriu para trocar a linha do código.

    Mude esta linha:

    MsgBox Err.Description
    Para:
    MsgBox Err.Number

    Para verificar o n° do erro, e então vamos tratá-lo.
    Ai identifiquei o erro 3021.

    Private Sub Form_BeforeInsert(Cancel As Integer)
    On Error GoTo Trato
    Dim rs As DAO.Recordset
    Set rs = Me.RecordsetClone
    rs.MoveLast
    If rs.RecordCount >= 25 Then
    Cancel = True
    MsgBox "O limite máximo de registros foi atingido."
    End If
    rs.Close
    Set rs = Nothing
    Exit Sub
    Trato:
    MsgBox Err.Number deletei essa linha ai funcionou
    End Sub
    A pergunta é será possível tratar o erro “3021” ou pode usar o código coma a exclusão da linha?
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 29/3/2012, 23:57

    Vou dar o tópico por encerrado.

    Porem se conseguir tratar o erro "3021" me retorne por favor, agradeço desejo uma boa noite a todos, e muito agradecido.
    avatar
    Convidad
    Convidado


    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Convidad 30/3/2012, 00:29


    Via de regra, todos nossos procedimentos devem ter tratamento de erro.
    Se não houver, e ocorrer um erro de código, o aplicativo pode travar.
    No procedimento em questão, o erro não complica, e a retirada do tratamento obviamente anulou a mensagem.
    Mas para cumprir a regra, e evitar a mensagem, o melhor é depurar o código para que o erro não ocorra, ou ao menos, fazer o tratamento.

    Teste assim:


    Private Sub Form_BeforeInsert(Cancel As Integer)
    On Error GoTo Trato
    Dim rs As DAO.Recordset
    Set rs = Me.RecordsetClone
    rs.MoveLast
    If rs.RecordCount >= 25 Then
    Cancel = True
    MsgBox "O limite máximo de registros foi atingido."
    End If
    rs.Close
    Set rs = Nothing
    Exit Sub
    Trato:
    If Err.Number = 3021 Then
    Exit Sub
    Else
    MsgBox Err.Description
    End If
    End Sub

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Lupércio 30/3/2012, 00:40

    Heeeee Norberto matou a pau, 100% funcional, (risos) você é o cara, obrigado meu amigo! Very Happy
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  wsenna 19/9/2014, 02:07

    Olá Senhores, boa noite.

    Apesar do tópico já ter sido resolvido, se me permitem gostaria de dar um pitaco também.

    Após muitas experiências cheguei à conclusão de que a melhor forma seria no evento Após Atualizar inserir o seguinte:

    Private Sub Form_AfterInsert()
    On Error GoTo Trato
     Dim rs As DAO.Recordset
     Set rs = Me.RecordsetClone
     rs.MoveLast
       If rs.RecordCount >= 25 Then
       MsgBox "O limite de 25 registros foi atingido.    " & Chr(13) & "Inicie um novo registro por favor.   ", vbInformation, "  Atenção !!!"
       DoCmd.SetWarnings False
       DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
       DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
       DoCmd.GoToRecord , "", acFirst
       DoCmd.CancelEvent
       End If
    rs.Close
    Set rs = Nothing
    Exit Sub
    Trato:
      If err.Number = 3021 Then
         Exit Sub
      Else
         MsgBox err.Description
      End If
    End Sub


    Notem que a "coisa" flui com maior naturalidade além de não precisar clicar várias vezes no comando OK da caixa de mensagem.

    Abraços, WSenna
    avatar
    glenioluiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 30
    Registrado : 20/03/2017

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Limite selecionável

    Mensagem  glenioluiz 21/8/2018, 22:49

    Caros!

    E se o usuário quiser inserir um valor diferente a cada dia, tipo, hoje serão 10 registros.
    No dia seguinte forem 7 registros.

    Pergunto isso pois quero fazer uma agenda diária, onde o medico determinará um numero de atendimentos e a partir disso tratará somente o numero de agendamentos para aquele dia.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Silvio 22/8/2018, 11:33

    Boas....
    Crie uma caixa de texto desacoplada onde vai ser inserido o numero de atendimentos diários feito pelo médico.

    Então mude a linha abaixo:
    ...
    ...
    If rs.RecordCount >= me!Caixadetextocriada Then
    ...
    ...
    ...


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Conteúdo patrocinado


    limitar - [Resolvido]Limitar numero de registros no Subform! Empty Re: [Resolvido]Limitar numero de registros no Subform!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 23:20