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

Contador No Formulário


Guest Leonardo Cosenza

Pergunta

Guest Leonardo Cosenza

Preciso contar a quantidade de registros de uma consulta dentro do formulário.

Estou utilizando uma função que achei no site da MS que é a seguinte: Function QCntr(x) As Long

Cntr = Cntr + 1

QCntr = Cntr

End Function

O campo denro do formulário está com o Control Source com a seguinte chamada: =QCntr([QCntr])

O contador até funciona mas quando eu arrasto a barra de rolagem pra cima e pra baixo o contador se perde.

Alguém poderia me ajudar.

Grato.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Guest Leonardo Cosenza
Ummm acho que a função abaixo deve resolver....

=dcontar("seuCampo";"suaTabela")

Post se deu ou não certo!

MrMALJ,

acho que me expressei mal.

Tenho uma query que me retorna 49 registros. Eu listo estes 49 registros num formulário. Tenho um campo ao lado de cada registro que é o contador. Ao utilizar a barra de rolagem este contador perde a referência.

Existe algum parâmetro do campo que precisa estar setado para não recalcular o contador?

Link para o comentário
Compartilhar em outros sites

  • 0

Veja se o exemplo abaixo lhe ajuda

http://accessjr.brinkster.net/downloads/rptExemplos.zip

E procurando achei este código do colega Jorge Ortiz (GD Forum Access), veja o código dele.

Ola

Veja se funciona, crie uma caixa de texto e faça adaptações do código abaixo para o seu form

Private Sub Form_Current()

'Atualiza a caixa de texto txtTotal -> Quantidade de registros

On Error Resume Next

With Me

.RecordsetClone.MoveLast

.txtTotal = "Nome: " & .CurrentRecord & " - Total: " & .RecordsetClone.RecordCount

End With

Jorge Ortiz

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Leonardo Cosenza

MrMALJ,

o exemplo que você me passou até tem um relatório com um contador, mas este contador não funciona para form. O que eu vi de diferente é que o textbox no form não possui o campo Running sum que no relatório tem. Deve ser isto.

na outra dica, coloquei pra rodar e aparece da seguinte forma:

xxxx xxxx xxxx xxxx 1

xxxx xxxx xxxx xxxx 1

xxxx xxxx xxxx xxxx 1

Aí se eu aperto a seta para ir pra página 2 ele recalcula todos dessa forma

xxxx xxxx xxxx xxxx 2

xxxx xxxx xxxx xxxx 2

xxxx xxxx xxxx xxxx 2

O que preciso é:

xxxx xxxx xxxx xxxx 1

xxxx xxxx xxxx xxxx 2

xxxx xxxx xxxx xxxx 3

Consegue entender esse meu "desenho"?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Leonardo Cosenza
Ok, bom dá uma pesquisada e tentar pensar em algo, qualquer coisa eu posto ai!

MrMALJ,

resolvido. desisti usar o contador.

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

Mesmo tendo desistido, vou deixando aqui um artigo que pode ser útil, mesmo que você não venha a utiliza-lo outros user podem achar este tópico pela busca do forum e utiliza-lo... Veja o Link

http://support.microsoft.com/?kbid=208946

Outra ideia que achei pesquisando é a seguinte (não testei mais parece interessante):

Para criar um campo de autonumeração temporário, quando abrir a consulta o comando

docmd.runsql "alter table nomedatabela add column numeracao autoincrement"

QUANDO FECHAR DELETE ESTE CAMPO com:

docmd.runsql "alter table nomedatabela drop column numeracao "

aqui você excluir o mesmo!

Vlw espero que na proxima possamos ajudar você!

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...