|
Postada em 10/09/2009 04:58 hs
Estou começando a estudar o ADO e li num site de programação que o msflexgrid estoura ao mostrar 350.000 registros (LINHAS) na tela. Entao resolvi fazer a busca num campo de nomes e o sistema vai me mostrar os nomes dos contatos numa lista ou até mesmo em campos textos. Gostaria de saber como mostrar os dados do nome do contato sem ser pelo msflexgrid usando o ADO. Se alguem puder me dar uma idéia como fazer a mostragem dos dados ou indicar onde tem apostilas agradeço desde já.
|
|
|
|
|
Postada em 10/09/2009 08:25 hs
Bom dia. Primeiramente, são 350.000 células. Ou seja, se você usar 10 colunas, pode usar 35.000 linhas. Porém, se você tiver 100 colunas, pode usar apenas 3500 linhas.
Por que você não quer usar um grid?
__________________
"It is the way of men to make monsters...and it is the nature of monsters to destroy their makers."
-F.E.A.R. (First Encounter Assault Recon )
|
|
|
Rogerio
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 10/09/2009 12:46 hs
Desculpe obrigado por consertar o que disse, pois como falei esto começando a estudar o DAO. Pq eu não quero usar o Grid DAO? pq se eu entendi bem irei fazer um aplicativo em que terão 11 campos tipo nome, endereço, telefone1, telefone2, etc... para cada contato. Então o grid só irá carregar 350.000 células dividido pelo número de campos, ou seja se passar deste valor vai dar erro no msflex grid. Este erro só aparece quando o msflexgrid ultrapassa na mostragem? pq senão eu arranjaria um meio de mostrar menos no dbgrid. Talvez um sistema de busca de nomes, porem no form load o msflexgrid já iniciaria com os contatos carregados, não sei se tem como fazer isto. Desculpe se falei algo errado, mas sou iniciante nesta parte. Setiver alguma idéia, obrigado agradeço.
|
|
|
|
Postada em 10/09/2009 13:07 hs
Olha, você tem que carregar 31.818 contatos para se preocupar com esse bug. Você realmente vai chegar nessa quantidade? O erro acontece quando você utiliza o comando "ROWS = ROWS + 1", adicionando uma linha extra no grid. O "contador de células" vai somar "11" (colunas) ao número de células carregadas. Se esse contador ultrapassar 350.000, o erro acontece.
Outra coisa: DBGRID é diferente de MSFLEXGRID.
__________________
"It is the way of men to make monsters...and it is the nature of monsters to destroy their makers."
-F.E.A.R. (First Encounter Assault Recon )
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 10/09/2009 13:35 hs
Acho que sim vai ultrapassar, no caso iria ultrapassar este número em uns 2 anos. Muito Obrigado pelas dicas, vou tentar ver se faço a mostragem dos dados em caixa de textos ou lista de nomes.obrigado
|
|
|
APW
|
S.J.RIO PRETO SP - BRASIL
|
|
Postada em 10/09/2009 17:27 hs
opa, pegando carona na pergunta do rogério, como fazer no caso de estouro no msflexgrid, tive esse problema com um gerador de ponto que tenho, é linha que não acaba mais, se tirar uma listagem pelo msflexgrid de 1 ano ele estoura a memória, alguem já contornou esse problema? como? valeu e ate mais...
|
|
|