Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Contagem De Registros Em Formulário


Elber Carretoni

Pergunta

salve salve galera...vai eu aí, mais uma vez, me lascando:

em um formuláriio principal, tenho um subformulário no modo folha de dados onde vou mostrando os itens que estou cadastrando...

gostaria de, por exemplo, quando o subformulário já estivesse mostrando 12 registros inseridos, bloqueasse a inserção de mais novos registros...

acredito que o problema não seja essencialmente este, já que isto envolve mais lógica de programação...

a dúvida é a seguinte? COMO CONTAR OS REGISTROS DO SUBFORMULÁRIO!?????

tentei usar, em primeira hipóteste, a função ...form.count, porém, os resultandos devolvidos são totalmente estranhos e não condinzentes com os valores reais...

em segunda hipótese, criei um campo na tabela que vai recebendo sempre o valor "1" a cada registro...desta forma, somo todos os valores "1" do subformulário folha de dados e tenho a contagem de registros...

esta segunda hipóteste deu certo na contagem de registros, mas não deu certo no bloqueio de novos registros...simplesmente porque, ao inserir um novo registro, mando atualizar o subformulário e verificar a contagem de registros...e a verificação da contagem de registros está sendo efetuada antes mesmo do formulário se atualizar...incrivelmente anormal, mas a ordem da programação está devidamente correta...

o objetivo principal é bloquear novos cadastrados no formulário após corridos 12 cadastros efetuados...mas acredito que a dúvida principal seja: ALGUMA FORMA DE CONTAR OS REGISTROS DE MODO MAIS EFICIENTE E FÀCIL??????

espero que tenham entendido a situação e desde já agradeço a força!

graciaaaas...

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0
Elber dá uma olhada no link abixo isso deve resolver seu problema

http://accessjr.brinkster.net/detalhe.asp?...;search=limitar

Num esqueça do retorno... vlw!

fera, primeiramente vlw por ter dado uma força e se empenhado em me ajudar nessa dúvida...

desculpe se faz parte de minha ignorância, mas acredito que o exemplo que tenha me passado não faça realmente parte da solução do meu problema...

pelo que vi, o exemplo que me passou se refere a limite de caracteres em campos, não contagem de dados num subformulário folha de dados...

bom, sendo assim, continuo com o problema! peço desculpas por qualquer coisa, e agradeço a força!

boa noite, abraços malj!

Link para o comentário
Compartilhar em outros sites

  • 0

Ok peço desculpas pelo engano... bom, lembro que a um tempo atrás tive que implementar algo parecido, o que fiz foi criar uma caixa de texto não acoplada e na sua "Origem de Controle" coloquei o seguinte:

=Contar([meuCampo])

Então criei os códigos para verificarem se ela tinha atingido um determinado número, quando atingia eu fazia com que o foco mudasse para o proximo objeto do formulário, e quando voltava ao sub já com o limite atingido eu fazia com ele mostrasse uma mensagem informando, não restringi o acesso pois o usuario poderia precisar alterar algum dado, porém sempre que ele terminava de editar algo o foco sempre saia do subform.

Link para o comentário
Compartilhar em outros sites

  • 0

mas foi isso mesmo que fiz MrMalj...

na minha tabela que estou direcionando para o subform, criei um campo que sempre vai recebendo o valor 1 e depois somo todos estes valores pra ter o total de registros...

talvez eu até tenha feito de forma mais complexa, já que você usou o CONTAR...mas isso não é o problema...

quando eu cadastro o item, mando atualizar o subformulário e logo depois eu teria que fazer a verificação de quantos registros já tem pra efetuar o bloqueio, caso o numero de registros seja = a 12...

no formulário principal, coloquei um campo não acoplado que recebe como fonte de controle o campo que efetua a soma dos valores "1" do subformulário folha de dados...é este campo não acoplado que estou utilizando pra efetuar a verificacao...

porém, quando mando atualizar o subformulário, a verificação de quantos registros possuem cadastrados acontece antes mesmo do campo não-acoplado se atualizar...

eu mando adicionar o registro, ele salva o registro na tabela e atualiza o subformulário...logo depois ele faz a verificação...

porém a verificação está sendo feita simultaneamente com a atualização...então, quando a verificação é efetuada, o campo não-acoplado esta em branco pois ainda esta sendo atualizado, e portanto a verificao não é feita como deveria...deu pra entender?

é complexo demais pra explicar, já que o problema acredito que seja do sistema, não de programação...

se você puder, gostaria de te mandar o banco de dados amanhã....to precisnado mesmo fazer essa coisa funcionar...

vlw a atenção malj! desculpe a demora pra responder, mas o tempo está curto!!!

abraços!, gracias...

Link para o comentário
Compartilhar em outros sites

  • 0

malj...me desculpe cara...

o banco de dados ficou no pc do serviço, e to sem ele aqui agora pra te mandar...

estarei de volta lá apenas na segunda feira, e de lá eu te mandaria, se puder...

não se preocupe...se não der pra dar um help, fica tranquilo...me viro por aqui...

mas, se puder me dar uma força nessa, vou ficar bem grato...

também não quero de forma alguma te atrapalhar...

abração amigo, fica com Deus!

bom fds!!

Link para o comentário
Compartilhar em outros sites

  • 0
Atravez de um procedimento tente explorar a propriedades ListCount, ListRows e ListIndex do objeto.

leitis, vou estar fazendo os testes e retorno os resultados...

vlw a força!

Link para o comentário
Compartilhar em outros sites

  • 0
Atravez de um procedimento tente explorar a propriedades ListCount, ListRows e ListIndex do objeto.

leitis, vou estar fazendo os testes e retorno os resultados...

vlw a força!

exemplo:

Dim msg As String

If Me.seu_controle.ListCount > 12 Then

Me.Undo

msg = MsgBox("mamae estou aqui", vbInformation + vbYesNo, "Titulo")

If msg = vbYes Then

MsgBox "Vem almoçar filho", vbInformation + vbYesNo, "Titulo"

End If

Else

MsgBox "joãozinho onde esta você?", vbInformation + vbYesNo, "Titulo"

End If

Link para o comentário
Compartilhar em outros sites

  • 0
Atravez de um procedimento tente explorar a propriedades ListCount, ListRows e ListIndex do objeto.

leitis, vou estar fazendo os testes e retorno os resultados...

vlw a força!

exemplo:

Dim msg As String

If Me.seu_controle.ListCount > 12 Then

Me.Undo

msg = MsgBox("mamae estou aqui", vbInformation + vbYesNo, "Titulo")

If msg = vbYes Then

MsgBox "Vem almoçar filho", vbInformation + vbYesNo, "Titulo"

End If

Else

MsgBox "joãozinho onde esta você?", vbInformation + vbYesNo, "Titulo"

End If

leitis...vlw mais uma vez a força...rsrs

ainda não fiz os testes, mas lembro-me que procurei a função listcount vagamente por cima e não tinha encontrado...foi ótimo você ter mandado um exemplo!

vou estar novamente efetuando os testes e te retorno o resultado...talvez na segunda feira!

bom feriado...bom fds!

gracias...

Link para o comentário
Compartilhar em outros sites

  • 0
Atravez de um procedimento tente explorar a propriedades ListCount, ListRows e ListIndex do objeto.

leitis, vou estar fazendo os testes e retorno os resultados...

vlw a força!

exemplo:

Dim msg As String

If Me.seu_controle.ListCount > 12 Then

Me.Undo

msg = MsgBox("mamae estou aqui", vbInformation + vbYesNo, "Titulo")

If msg = vbYes Then

MsgBox "Vem almoçar filho", vbInformation + vbYesNo, "Titulo"

End If

Else

MsgBox "joãozinho onde esta você?", vbInformation + vbYesNo, "Titulo"

End If

leitis...vlw mais uma vez a força...rsrs

ainda não fiz os testes, mas lembro-me que procurei a função listcount vagamente por cima e não tinha encontrado...foi ótimo você ter mandado um exemplo!

vou estar novamente efetuando os testes e te retorno o resultado...talvez na segunda feira!

bom feriado...bom fds!

gracias...

Opa leitis! depois de tanto tempo, to voltando aqui pra dar um parecer sobre a dúvida...

tentei usar as propriedades ListCount, ListRows e ListIndex, porém não deu certo nenhuma delas! O access não reconhece-as!

qual objeto você mencionou a partir do nome Seu_Controle? (Me.Seu_Controle.ListCount)

Na verdade, quero contar os registros de um subformulário folha de dados...é isso mesmo?

agradeço mais uma vez a atenção,

abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe a demora é que estou muito ocupado mesmo, não to conseguindo nem ler meus email.

O controle seria um listbox:

Número de colunas = quantas você necessitar

Largura das colunas = como você quizer

Tipo de origem da linha = tabela/consulta

Origem da Linha = sua consulta

Qualquer duvida retorne.

Link para o comentário
Compartilhar em outros sites

  • 0
Desculpe a demora é que estou muito ocupado mesmo, não to conseguindo nem ler meus email.

O controle seria um listbox:

Número de colunas = quantas você necessitar

Largura das colunas = como você quizer

Tipo de origem da linha = tabela/consulta

Origem da Linha = sua consulta

Qualquer duvida retorne.

OPA! fiz os testes e coloquei uma listbox...

na verdade, estava usando um subformulario modo folha de dados...por isso não encontrava as funções...

cara, ficou perfeito....muito bom, muito mesmo!!!!

vlw a força, vlw a atenção!!!!

abração!!! gracias...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...