Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-09 Por tôpico Vitor Luiz Redes


Se não o Hospedeiro,
quem faz do parasita,
um parasita ?

Vitor Luiz Redes

Redsystem Informática
  - Original Message - 
  From: Marcelo Silva 
  To: [EMAIL PROTECTED] 
  Sent: Monday, November 08, 2004 5:37 PM
  Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


  Ei Alexandre verifiquei no Help do Delphi e vi o que quis dizer...
  Be fiz assim Accept := DataSet['COD_CLI'] = Edit1.Text;
  Mas teve o Mesmo efeito de um if dentro do while... e desta forma acaba 
demorando para trazer os resultados...
  O detalhe é que ele carrega a tabela inteira desta forma o while percorre 
toda esta tabela que tem uns 300.000 registros e a cada dia cresce mais...
  Preciso de uma forma eficiente...
  A Maneira que o Vitor colocou é ótima ... porém gostaria que fosse possivel 
passar tipo um Array de opçõe tipo:

  SetRange([Array],[Array]);

  Mas o SetRange não trabalha assim... ele trabalha

  SetRange([Inicio],[Final]);

  Preciso de algo como o clausula IN de um select tipo

  SetRange(IN [Valore1,Valor2. Etc]);

  Entendeu ?

  Ou é claro... uma outra forma que de uma melhor performance a busca de uma 
TTable

  * Não posso utilizar outros componentes por que já existe um programa em 
clipper que acessa a mesma tabela e faz uso dos indices em outra pasta ... é 
uma saquinho... só consegui fazer funcionar com AdsTables.

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED] 
- Original Message - 
From: Alexandre Oliveira 
To: [EMAIL PROTECTED] 
Sent: Monday, November 08, 2004 6:17 PM
Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


Olá,

Olha Marcelo, veja, se (tipopagto='D') = verdadeiro(boolean), então acepta
este registro no filtro, senão falso, não acepta. No caso de um while esse
registro fará ou não parte dele.

É isso que o exemplo quer dizer. Você quer filtrar registros, então qual é a
condição para filtrá-los ? Tipo NumDependentes  0 ? Mande a expressão do
filtro pra gente ver.

Alexandre Oliveira

- Original Message -
From: Marcelo Silva [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 3:52 PM
Subject: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable
?



Vitor sua dica foi muito boa e retorna o resultado praticamente
instantaneamente

Tenho outro detalhe em questão...
Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por exemplo
10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não
quero todos) Acho que deu pra entender né...
Ou seja, um será o Cliente Principal e os outros seriam dependentes

Então teria que buscar

if (CODCLI Tem Dependentes) then
Quem são ?

Pega todos e verifica em outra tabela se estes tem vendas na tabela
Vendas...

Então preciso que este range me traga como se fosse um IN de um select.

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]
  - Original Message -
  From: Vitor Luiz Redes
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:20 PM
  Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com
TTable ?


  Para percorrer no While, somente os registros desejados ... altere as
  propriedades IndexFieldNames e Sete um Range da seginte maneira ...

  Table.IndexFieldNames:='CODCLI';
  Table.SetRange([1],[50]);

  Veja que no exemplo acima, o while irá percorrer somente os registro
que
  estejam entre 1 e 50.


  Se não o Hospedeiro,
  quem faz do parasita,
  um parasita ?

  Vitor Luiz Redes
  
  Redsystem Informática
  - Original Message -
  From: Stock [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:04 PM
  Subject: [Norton AntiSpam] Res: [delphi-br] Qual a melhor maneira de
  trabalhar com TTable ?





  como vc ta fazendo esse filtro?
  o componente table, filtrado, so traz os registros solicitados, no while
so
  ira percorrer estes registros... vc deve ta carregando a tabela toda...


  [EMAIL PROTECTED]
  600 modelos de sites profissionais - Imperdivel
  http://www.kitsites.com/index.php?ref=50

  ---Mensagem original---

  De: [EMAIL PROTECTED]
  Data: 11/08/04 11:38:50
  Para: [EMAIL PROTECTED]
  Assunto: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

  Estou trabalhando com arquivos DBF e gostaria de saber qual a melhor
maneira
  de se trabalhar com TTables ?

  Tipo...

  Para abrir a tabela ele abre numa boa bem rapido...
  Quando coloco o Filtro que quero no DBGrid ele mostra somente os registro
  que preciso..
  Mas vejo que no While ele percorre toda a tabela

Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-09 Por tôpico Vitor Luiz Redes

É, no seu caso, acho que a melhor maneira, é Setar o Range para o menor e 
maior valor, e depois filtrar como puder ...
Mas o ideal mesmo, era usar uma Query, assim, você faria isso rapidinho ...


Se não o Hospedeiro,
quem faz do parasita,
um parasita ?

Vitor Luiz Redes

Redsystem Informática
  - Original Message - 
  From: Marcelo Silva 
  To: [EMAIL PROTECTED] 
  Sent: Monday, November 08, 2004 5:37 PM
  Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


  Ei Alexandre verifiquei no Help do Delphi e vi o que quis dizer...
  Be fiz assim Accept := DataSet['COD_CLI'] = Edit1.Text;
  Mas teve o Mesmo efeito de um if dentro do while... e desta forma acaba 
demorando para trazer os resultados...
  O detalhe é que ele carrega a tabela inteira desta forma o while percorre 
toda esta tabela que tem uns 300.000 registros e a cada dia cresce mais...
  Preciso de uma forma eficiente...
  A Maneira que o Vitor colocou é ótima ... porém gostaria que fosse possivel 
passar tipo um Array de opçõe tipo:

  SetRange([Array],[Array]);

  Mas o SetRange não trabalha assim... ele trabalha

  SetRange([Inicio],[Final]);

  Preciso de algo como o clausula IN de um select tipo

  SetRange(IN [Valore1,Valor2. Etc]);

  Entendeu ?

  Ou é claro... uma outra forma que de uma melhor performance a busca de uma 
TTable

  * Não posso utilizar outros componentes por que já existe um programa em 
clipper que acessa a mesma tabela e faz uso dos indices em outra pasta ... é 
uma saquinho... só consegui fazer funcionar com AdsTables.

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED] 
- Original Message - 
From: Alexandre Oliveira 
To: [EMAIL PROTECTED] 
Sent: Monday, November 08, 2004 6:17 PM
Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


Olá,

Olha Marcelo, veja, se (tipopagto='D') = verdadeiro(boolean), então acepta
este registro no filtro, senão falso, não acepta. No caso de um while esse
registro fará ou não parte dele.

É isso que o exemplo quer dizer. Você quer filtrar registros, então qual é a
condição para filtrá-los ? Tipo NumDependentes  0 ? Mande a expressão do
filtro pra gente ver.

Alexandre Oliveira

- Original Message -
From: Marcelo Silva [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 3:52 PM
Subject: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable
?



Vitor sua dica foi muito boa e retorna o resultado praticamente
instantaneamente

Tenho outro detalhe em questão...
Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por exemplo
10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não
quero todos) Acho que deu pra entender né...
Ou seja, um será o Cliente Principal e os outros seriam dependentes

Então teria que buscar

if (CODCLI Tem Dependentes) then
Quem são ?

Pega todos e verifica em outra tabela se estes tem vendas na tabela
Vendas...

Então preciso que este range me traga como se fosse um IN de um select.

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]
  - Original Message -
  From: Vitor Luiz Redes
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:20 PM
  Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com
TTable ?


  Para percorrer no While, somente os registros desejados ... altere as
  propriedades IndexFieldNames e Sete um Range da seginte maneira ...

  Table.IndexFieldNames:='CODCLI';
  Table.SetRange([1],[50]);

  Veja que no exemplo acima, o while irá percorrer somente os registro
que
  estejam entre 1 e 50.


  Se não o Hospedeiro,
  quem faz do parasita,
  um parasita ?

  Vitor Luiz Redes
  
  Redsystem Informática
  - Original Message -
  From: Stock [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:04 PM
  Subject: [Norton AntiSpam] Res: [delphi-br] Qual a melhor maneira de
  trabalhar com TTable ?





  como vc ta fazendo esse filtro?
  o componente table, filtrado, so traz os registros solicitados, no while
so
  ira percorrer estes registros... vc deve ta carregando a tabela toda...


  [EMAIL PROTECTED]
  600 modelos de sites profissionais - Imperdivel
  http://www.kitsites.com/index.php?ref=50

  ---Mensagem original---

  De: [EMAIL PROTECTED]
  Data: 11/08/04 11:38:50
  Para: [EMAIL PROTECTED]
  Assunto: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

  Estou trabalhando com arquivos DBF e gostaria de saber qual a melhor
maneira
  de se trabalhar com TTables ?

  Tipo...

  Para

Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-09 Por tôpico Marcelo Silva

Eu Utilizei AdsQuery ela demora pra abrir porque não faz uso eficiente dos 
Indices como a Table quando estão em outra pasta (que é meu caso).
E outra coisa ... quando gravo através da Query ela não atualiza os arquivos de 
indices e desta forma o Clipper não encherga o que foi inserido... Esse clipper 
foi ótimo por uns tempos mas agora nas empresas que persistem nele ele está 
atrapalhando pra caramba ...

Estou na corrida pra conseguir melhorar o sistema ... as dicas vindas da lista 
ja ajudaram muito ...
Bem... a briga continua ...

Se fosse EU x BANCO eu daria um jeito... mas é EU x BANCO x Patrão aí a briga 
fica desigual :-)

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]
  - Original Message - 
  From: Vitor Luiz Redes 
  To: [EMAIL PROTECTED] 
  Sent: Tuesday, November 09, 2004 10:21 AM
  Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


  É, no seu caso, acho que a melhor maneira, é Setar o Range para o menor e 
maior valor, e depois filtrar como puder ...
  Mas o ideal mesmo, era usar uma Query, assim, você faria isso rapidinho 
...


  Se não o Hospedeiro,
  quem faz do parasita,
  um parasita ?

  Vitor Luiz Redes
  
  Redsystem Informática
- Original Message - 
From: Marcelo Silva 
To: [EMAIL PROTECTED] 
Sent: Monday, November 08, 2004 5:37 PM
Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


Ei Alexandre verifiquei no Help do Delphi e vi o que quis dizer...
Be fiz assim Accept := DataSet['COD_CLI'] = Edit1.Text;
Mas teve o Mesmo efeito de um if dentro do while... e desta forma acaba 
demorando para trazer os resultados...
O detalhe é que ele carrega a tabela inteira desta forma o while percorre 
toda esta tabela que tem uns 300.000 registros e a cada dia cresce mais...
Preciso de uma forma eficiente...
A Maneira que o Vitor colocou é ótima ... porém gostaria que fosse possivel 
passar tipo um Array de opçõe tipo:

SetRange([Array],[Array]);

Mas o SetRange não trabalha assim... ele trabalha

SetRange([Inicio],[Final]);

Preciso de algo como o clausula IN de um select tipo

SetRange(IN [Valore1,Valor2. Etc]);

Entendeu ?

Ou é claro... uma outra forma que de uma melhor performance a busca de uma 
TTable

* Não posso utilizar outros componentes por que já existe um programa em 
clipper que acessa a mesma tabela e faz uso dos indices em outra pasta ... é 
uma saquinho... só consegui fazer funcionar com AdsTables.

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED] 
  - Original Message - 
  From: Alexandre Oliveira 
  To: [EMAIL PROTECTED] 
  Sent: Monday, November 08, 2004 6:17 PM
  Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


  Olá,

  Olha Marcelo, veja, se (tipopagto='D') = verdadeiro(boolean), então acepta
  este registro no filtro, senão falso, não acepta. No caso de um while esse
  registro fará ou não parte dele.

  É isso que o exemplo quer dizer. Você quer filtrar registros, então qual 
é a
  condição para filtrá-los ? Tipo NumDependentes  0 ? Mande a expressão do
  filtro pra gente ver.

  Alexandre Oliveira

  - Original Message -
  From: Marcelo Silva [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 3:52 PM
  Subject: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable
  ?



  Vitor sua dica foi muito boa e retorna o resultado praticamente
  instantaneamente

  Tenho outro detalhe em questão...
  Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por 
exemplo
  10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não
  quero todos) Acho que deu pra entender né...
  Ou seja, um será o Cliente Principal e os outros seriam dependentes

  Então teria que buscar

  if (CODCLI Tem Dependentes) then
  Quem são ?

  Pega todos e verifica em outra tabela se estes tem vendas na tabela
  Vendas...

  Então preciso que este range me traga como se fosse um IN de um select.

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED]
- Original Message -
From: Vitor Luiz Redes
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 12:20 PM
Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com
  TTable ?


Para percorrer no While, somente os registros desejados ... altere 
as
propriedades IndexFieldNames e Sete um Range da seginte maneira ...

Table.IndexFieldNames:='CODCLI';
Table.SetRange([1],[50]);

Veja que no exemplo acima, o while irá percorrer somente os registro
  que
estejam entre 1 e 50.


Se não o

Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-08 Por tôpico Marcelo Silva

Vitor sua dica foi muito boa e retorna o resultado praticamente instantaneamente

Tenho outro detalhe em questão... 
Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por exemplo
10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não 
quero todos) Acho que deu pra entender né...
Ou seja, um será o Cliente Principal e os outros seriam dependentes

Então teria que buscar

if (CODCLI Tem Dependentes) then
 Quem são ?

Pega todos e verifica em outra tabela se estes tem vendas na tabela Vendas...

Então preciso que este range me traga como se fosse um IN de um select.

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED] 
  - Original Message - 
  From: Vitor Luiz Redes 
  To: [EMAIL PROTECTED] 
  Sent: Monday, November 08, 2004 12:20 PM
  Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?


  Para percorrer no While, somente os registros desejados ... altere as
  propriedades IndexFieldNames e Sete um Range da seginte maneira ...

  Table.IndexFieldNames:='CODCLI';
  Table.SetRange([1],[50]);

  Veja que no exemplo acima, o while irá percorrer somente os registro que
  estejam entre 1 e 50.


  Se não o Hospedeiro,
  quem faz do parasita,
  um parasita ?

  Vitor Luiz Redes
  
  Redsystem Informática
  - Original Message -
  From: Stock [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:04 PM
  Subject: [Norton AntiSpam] Res: [delphi-br] Qual a melhor maneira de
  trabalhar com TTable ?





  como vc ta fazendo esse filtro?
  o componente table, filtrado, so traz os registros solicitados, no while so
  ira percorrer estes registros... vc deve ta carregando a tabela toda...


  [EMAIL PROTECTED]
  600 modelos de sites profissionais - Imperdivel
  http://www.kitsites.com/index.php?ref=50

  ---Mensagem original---

  De: [EMAIL PROTECTED]
  Data: 11/08/04 11:38:50
  Para: [EMAIL PROTECTED]
  Assunto: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

  Estou trabalhando com arquivos DBF e gostaria de saber qual a melhor maneira
  de se trabalhar com TTables ?

  Tipo...

  Para abrir a tabela ele abre numa boa bem rapido...
  Quando coloco o Filtro que quero no DBGrid ele mostra somente os registro
  que preciso..
  Mas vejo que no While ele percorre toda a tabela ignorando o filtro... ou
  seja desta forma não sei pra que o filtro.
  Já Estou fazendo uso de Indices.
  Teria algum outro macete pra trazer os resultados de forma mais rápida ?

  Estou usando D7 com ADS (não posso mudar)

  Obs. Não posso mudar de base ok...

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED]



  [As partes desta mensagem que não continham texto foram removidas]



  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]

  Links do Yahoo! Grupos









  [As partes desta mensagem que não continham texto foram removidas]



  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]

  Links do Yahoo! Grupos












  -- 
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por: 
 
 
  
 
   


--
  Links do Yahoo! Grupos

a.. Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  
b.. Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
  
c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
do Yahoo!. 



[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-08 Por tôpico Alexandre Oliveira

Olá,

Olha Marcelo, veja, se (tipopagto='D') = verdadeiro(boolean), então acepta
este registro no filtro, senão falso, não acepta. No caso de um while esse
registro fará ou não parte dele.

É isso que o exemplo quer dizer. Você quer filtrar registros, então qual é a
condição para filtrá-los ? Tipo NumDependentes  0 ? Mande a expressão do
filtro pra gente ver.

Alexandre Oliveira

- Original Message -
From: Marcelo Silva [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 3:52 PM
Subject: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable
?



Vitor sua dica foi muito boa e retorna o resultado praticamente
instantaneamente

Tenho outro detalhe em questão...
Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por exemplo
10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não
quero todos) Acho que deu pra entender né...
Ou seja, um será o Cliente Principal e os outros seriam dependentes

Então teria que buscar

if (CODCLI Tem Dependentes) then
 Quem são ?

Pega todos e verifica em outra tabela se estes tem vendas na tabela
Vendas...

Então preciso que este range me traga como se fosse um IN de um select.

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]
  - Original Message -
  From: Vitor Luiz Redes
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:20 PM
  Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com
TTable ?


  Para percorrer no While, somente os registros desejados ... altere as
  propriedades IndexFieldNames e Sete um Range da seginte maneira ...

  Table.IndexFieldNames:='CODCLI';
  Table.SetRange([1],[50]);

  Veja que no exemplo acima, o while irá percorrer somente os registro
que
  estejam entre 1 e 50.


  Se não o Hospedeiro,
  quem faz do parasita,
  um parasita ?

  Vitor Luiz Redes
  
  Redsystem Informática
  - Original Message -
  From: Stock [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 12:04 PM
  Subject: [Norton AntiSpam] Res: [delphi-br] Qual a melhor maneira de
  trabalhar com TTable ?





  como vc ta fazendo esse filtro?
  o componente table, filtrado, so traz os registros solicitados, no while
so
  ira percorrer estes registros... vc deve ta carregando a tabela toda...


  [EMAIL PROTECTED]
  600 modelos de sites profissionais - Imperdivel
  http://www.kitsites.com/index.php?ref=50

  ---Mensagem original---

  De: [EMAIL PROTECTED]
  Data: 11/08/04 11:38:50
  Para: [EMAIL PROTECTED]
  Assunto: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

  Estou trabalhando com arquivos DBF e gostaria de saber qual a melhor
maneira
  de se trabalhar com TTables ?

  Tipo...

  Para abrir a tabela ele abre numa boa bem rapido...
  Quando coloco o Filtro que quero no DBGrid ele mostra somente os registro
  que preciso..
  Mas vejo que no While ele percorre toda a tabela ignorando o filtro... ou
  seja desta forma não sei pra que o filtro.
  Já Estou fazendo uso de Indices.
  Teria algum outro macete pra trazer os resultados de forma mais rápida ?

  Estou usando D7 com ADS (não posso mudar)

  Obs. Não posso mudar de base ok...

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED]



  [As partes desta mensagem que não continham texto foram removidas]



  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]

  Links do Yahoo! Grupos









  [As partes desta mensagem que não continham texto foram removidas]



  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]

  Links do Yahoo! Grupos












  --
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:








--
  Links do Yahoo! Grupos

a.. Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

b.. Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.



[As partes desta mensagem que não continham texto foram removidas]



--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e

Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-08 Por tôpico Marcelo Silva

O filtro que estou usando é assim:

  AdsTable1.Open;
  AdsTable1.IndexFieldNames := 'DAT_QUI;COD_CLI';
  // AdsTable1.SetRange(['',80084],['',80084]); // Dica do Vitor
  AdsTable1.Filter := '';
  AdsTable1.Filter := '((OBS = ''N'') AND (DAT_QUI = )OR(DAT_QUI = NULL)AND 
(COD_CLI = '+Edit1.Text+'))';
  AdsTable1.Filtered := True;

  while not(AdsTable1.Eof) do begin
//if (AdsTable1COD_CLI.AsInteger = StrToInt(Edit1.Text)) then // Senao 
colocar if ele traz todos os registros
  Memo1.Lines.Add(AdsTable1COD_CLI.AsString);
AdsTable1.Next;
  end;

Estou fazendo testes com essa rotina acima ...

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]
  - Original Message - 
  From: Alexandre Oliveira 
  To: [EMAIL PROTECTED] 
  Sent: Monday, November 08, 2004 6:17 PM
  Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


  Olá,

  Olha Marcelo, veja, se (tipopagto='D') = verdadeiro(boolean), então acepta
  este registro no filtro, senão falso, não acepta. No caso de um while esse
  registro fará ou não parte dele.

  É isso que o exemplo quer dizer. Você quer filtrar registros, então qual é a
  condição para filtrá-los ? Tipo NumDependentes  0 ? Mande a expressão do
  filtro pra gente ver.

  Alexandre Oliveira

  - Original Message -
  From: Marcelo Silva [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 3:52 PM
  Subject: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable
  ?



  Vitor sua dica foi muito boa e retorna o resultado praticamente
  instantaneamente

  Tenho outro detalhe em questão...
  Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por exemplo
  10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não
  quero todos) Acho que deu pra entender né...
  Ou seja, um será o Cliente Principal e os outros seriam dependentes

  Então teria que buscar

  if (CODCLI Tem Dependentes) then
  Quem são ?

  Pega todos e verifica em outra tabela se estes tem vendas na tabela
  Vendas...

  Então preciso que este range me traga como se fosse um IN de um select.

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED]
- Original Message -
From: Vitor Luiz Redes
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 12:20 PM
Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com
  TTable ?


Para percorrer no While, somente os registros desejados ... altere as
propriedades IndexFieldNames e Sete um Range da seginte maneira ...

Table.IndexFieldNames:='CODCLI';
Table.SetRange([1],[50]);

Veja que no exemplo acima, o while irá percorrer somente os registro
  que
estejam entre 1 e 50.


Se não o Hospedeiro,
quem faz do parasita,
um parasita ?

Vitor Luiz Redes

Redsystem Informática
- Original Message -
From: Stock [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 12:04 PM
Subject: [Norton AntiSpam] Res: [delphi-br] Qual a melhor maneira de
trabalhar com TTable ?





como vc ta fazendo esse filtro?
o componente table, filtrado, so traz os registros solicitados, no while
  so
ira percorrer estes registros... vc deve ta carregando a tabela toda...


[EMAIL PROTECTED]
600 modelos de sites profissionais - Imperdivel
http://www.kitsites.com/index.php?ref=50

---Mensagem original---

De: [EMAIL PROTECTED]
Data: 11/08/04 11:38:50
Para: [EMAIL PROTECTED]
Assunto: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

Estou trabalhando com arquivos DBF e gostaria de saber qual a melhor
  maneira
de se trabalhar com TTables ?

Tipo...

Para abrir a tabela ele abre numa boa bem rapido...
Quando coloco o Filtro que quero no DBGrid ele mostra somente os registro
que preciso..
Mas vejo que no While ele percorre toda a tabela ignorando o filtro... ou
seja desta forma não sei pra que o filtro.
Já Estou fazendo uso de Indices.
Teria algum outro macete pra trazer os resultados de forma mais rápida ?

Estou usando D7 com ADS (não posso mudar)

Obs. Não posso mudar de base ok...

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]



[As partes desta mensagem que não continham texto foram removidas]



--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos









[As partes desta mensagem que não continham texto foram removidas]



--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br

Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

2004-11-08 Por tôpico Marcelo Silva

Ei Alexandre verifiquei no Help do Delphi e vi o que quis dizer...
Be fiz assim Accept := DataSet['COD_CLI'] = Edit1.Text;
Mas teve o Mesmo efeito de um if dentro do while... e desta forma acaba 
demorando para trazer os resultados...
O detalhe é que ele carrega a tabela inteira desta forma o while percorre toda 
esta tabela que tem uns 300.000 registros e a cada dia cresce mais...
Preciso de uma forma eficiente...
A Maneira que o Vitor colocou é ótima ... porém gostaria que fosse possivel 
passar tipo um Array de opçõe tipo:

SetRange([Array],[Array]);

Mas o SetRange não trabalha assim... ele trabalha

SetRange([Inicio],[Final]);

Preciso de algo como o clausula IN de um select tipo

SetRange(IN [Valore1,Valor2. Etc]);

Entendeu ?

Ou é claro... uma outra forma que de uma melhor performance a busca de uma 
TTable

* Não posso utilizar outros componentes por que já existe um programa em 
clipper que acessa a mesma tabela e faz uso dos indices em outra pasta ... é 
uma saquinho... só consegui fazer funcionar com AdsTables.

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED] 
  - Original Message - 
  From: Alexandre Oliveira 
  To: [EMAIL PROTECTED] 
  Sent: Monday, November 08, 2004 6:17 PM
  Subject: Re: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com 
TTable ?


  Olá,

  Olha Marcelo, veja, se (tipopagto='D') = verdadeiro(boolean), então acepta
  este registro no filtro, senão falso, não acepta. No caso de um while esse
  registro fará ou não parte dele.

  É isso que o exemplo quer dizer. Você quer filtrar registros, então qual é a
  condição para filtrá-los ? Tipo NumDependentes  0 ? Mande a expressão do
  filtro pra gente ver.

  Alexandre Oliveira

  - Original Message -
  From: Marcelo Silva [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Monday, November 08, 2004 3:52 PM
  Subject: Ao Vitor [delphi-br] Qual a melhor maneira de trabalhar com TTable
  ?



  Vitor sua dica foi muito boa e retorna o resultado praticamente
  instantaneamente

  Tenho outro detalhe em questão...
  Como trazer varios Clientes (CODCLI) que não sejam sequenciais, por exemplo
  10089 , 34556, 23321, 12345 etc... (Não posso coloca de 0 a tal porque não
  quero todos) Acho que deu pra entender né...
  Ou seja, um será o Cliente Principal e os outros seriam dependentes

  Então teria que buscar

  if (CODCLI Tem Dependentes) then
  Quem são ?

  Pega todos e verifica em outra tabela se estes tem vendas na tabela
  Vendas...

  Então preciso que este range me traga como se fosse um IN de um select.

  Marcelo Silva
  Cel. 11 9693-4251
  ICQ - 49224093
  MSN [EMAIL PROTECTED]
- Original Message -
From: Vitor Luiz Redes
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 12:20 PM
Subject: Re: Res: [delphi-br] Qual a melhor maneira de trabalhar com
  TTable ?


Para percorrer no While, somente os registros desejados ... altere as
propriedades IndexFieldNames e Sete um Range da seginte maneira ...

Table.IndexFieldNames:='CODCLI';
Table.SetRange([1],[50]);

Veja que no exemplo acima, o while irá percorrer somente os registro
  que
estejam entre 1 e 50.


Se não o Hospedeiro,
quem faz do parasita,
um parasita ?

Vitor Luiz Redes

Redsystem Informática
- Original Message -
From: Stock [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, November 08, 2004 12:04 PM
Subject: [Norton AntiSpam] Res: [delphi-br] Qual a melhor maneira de
trabalhar com TTable ?





como vc ta fazendo esse filtro?
o componente table, filtrado, so traz os registros solicitados, no while
  so
ira percorrer estes registros... vc deve ta carregando a tabela toda...


[EMAIL PROTECTED]
600 modelos de sites profissionais - Imperdivel
http://www.kitsites.com/index.php?ref=50

---Mensagem original---

De: [EMAIL PROTECTED]
Data: 11/08/04 11:38:50
Para: [EMAIL PROTECTED]
Assunto: [delphi-br] Qual a melhor maneira de trabalhar com TTable ?

Estou trabalhando com arquivos DBF e gostaria de saber qual a melhor
  maneira
de se trabalhar com TTables ?

Tipo...

Para abrir a tabela ele abre numa boa bem rapido...
Quando coloco o Filtro que quero no DBGrid ele mostra somente os registro
que preciso..
Mas vejo que no While ele percorre toda a tabela ignorando o filtro... ou
seja desta forma não sei pra que o filtro.
Já Estou fazendo uso de Indices.
Teria algum outro macete pra trazer os resultados de forma mais rápida ?

Estou usando D7 com ADS (não posso mudar)

Obs. Não posso mudar de base ok...

Marcelo Silva
Cel. 11 9693-4251
ICQ - 49224093
MSN [EMAIL PROTECTED]



[As partes desta mensagem que não continham texto foram removidas]



--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Para ver as mensagens antigas, acesse