GARANTIR DESCONTO

Fórum Total de registros #231480

11/05/2004

0

Aí pessoal,

Seguinte,

Criei um banco de dados ACCESS com uma tabela de clientes. No menu principal do programa eu coloque um Label que exibirá o número de registros no banco de dados, tabela clientes. Como farei isso?

OBS: Estou usando o ADO para fazer a conexão com a tabela

Abraços


Redoctober

Redoctober

Responder

Post mais votado

11/05/2004

Query.Close;
Query.sql.clear;
Query.sql.add(´select * from clientes´);
query.open;
label.caption := IntToStr(Query.recordcount);



Rômulo Barros

Rômulo Barros
Responder

Gostei + 1

Mais Posts

11/05/2004

Fatrix

Dica retirada do Deephi 1.3
Inclua na seção uses: DbiProcs Os componentes TTable e TQuery e TADOTable possuem a propriedade RecordCount que indicam a quantidade de registros da tabela. No entanto esta propriedade é dependente de filtros, ou seja, se tivermos uma tabela com dez registros com campo ´Codigo´ de 1 a 10 e aplicarmos o filtro mostrado a seguir, a propriedade RecordCount retornará 5 e não 10. Table1.Filter := ´Codigo <= 5´; Table1.Filtered := true; Se quizermos obter a quantidade total de registros, independentemente de filtros, devemos usar uma API do BDE conforme abaixo: var Total: integer; begin Check(DbiGetRecordCount(Table1.Handle, Total)); ShowMessage(´Total de registros: ´ + IntToStr(Total)); end; Observações: Para testar o exemplo acima, o Table1 precisa estar aberto.



Responder

Gostei + 0

12/05/2004

Redoctober

Query.Close; Query.sql.clear; Query.sql.add(´select * from clientes´); query.open; label.caption := IntToStr(Query.recordcount);



Meu formulario principal chama-se form1, como eu faria para esse código rodar assim que o form1 for aberto e além disso ficar executando toda a rotina em tempo real

Abracos


Responder

Gostei + 0

12/05/2004

Thematrix:reloaded

Use o componente TTimer, no evento OnTimer vc executa sua rotina.


Responder

Gostei + 0

12/05/2004

Vinicius2k

Meu formulario principal chama-se form1, como eu faria para esse código rodar assim que o form1 for aberto e além disso ficar executando toda a rotina em tempo real Abracos


Não é uma crítica... só uma dica... mas vc já analizou o impacto de processamento e acesso ao disco da execução dessa rotina na sua aplicação via onTimer?
A não ser q vc queira apenas atualizar periodicamente com um intervalo de timer razoável... se for de poucos segundos vc estará comprometendo muito o desempenho...
T+


Responder

Gostei + 0

12/05/2004

Thematrix:reloaded

Para Vinicius2K:

Concordo com vc, mas faltou uma coisa na sua dica, que outra opção nosso colega teria para resolver o problema proposto?


Responder

Gostei + 0

12/05/2004

Redoctober

Para Vinicius2K: Concordo com vc, mas faltou uma coisa na sua dica, que outra opção nosso colega teria para resolver o problema proposto?


Poderia usar o while?


Responder

Gostei + 0

12/05/2004

Vinicius2k

Concordo com vc, mas faltou uma coisa na sua dica, que outra opção nosso colega teria para resolver o problema proposto?


Veja bem Matrix, como disse, eu não critiquei sua sugestão... acredito que o Timer seja a única forma de fazê-lo... apenas sugeri que ele pensasse de vale a pena implementar isso, pois vai comprometer a performance... e se ele realmente precisar implementar, que procure utilizar um intervalo que não comprometa tanto...

Acho que a sugestão de código do UI tbm pode ser aperfeiçoada para diminuir um pouco o tráfego de dados... usando o COUNT e não trazendo todos os registros com o (*):
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add(´select count(CODIGO_CLIENTE) from CLIENTES´);
  Query1.Open;
  Label1.Caption:= IntToStr(Query1.FieldByName(´COUNT´).AsInteger);


T+


Responder

Gostei + 0

12/05/2004

Thematrix:reloaded

Ok!


Responder

Gostei + 0

13/05/2004

Fatrix

Outra opção é usar o RXLIB, existe um componente chamado
DBStatusLabel (se encontra na paleta RXDBAware) que pode ser configurado para mostrar o total de registros.
Ele funciona assim:
1 : 5
ou seja registro 1 de 5 no total.

Eu só não sei se funciona com ADO, mas vale a pena tentar.

É isso.
Espero ter ajudado.


Responder

Gostei + 0

01/06/2021

Andre Couto

Outra opção é usar o RXLIB, existe um componente chamado
DBStatusLabel (se encontra na paleta RXDBAware) que pode ser configurado para mostrar o total de registros.
Ele funciona assim:
1 : 5
ou seja registro 1 de 5 no total.

Eu só não sei se funciona com ADO, mas vale a pena tentar.

É isso.
Espero ter ajudado.

gostaria de saber mais pois nao consegui usar o dbstatuslabel para dar a quantidade
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar