Fórum ClientDataSet - Limitar filtros de acordo com a query #366184
15/11/2008
0
Tenho uma tabela onde acesso através de uma query usando filtros definidos pelo usuario. Nome da Tabela: GPINFO
Nesta tabela possui vários campos de outras tabelas, que são foreign key
Gostaria de saber como fazer para que fossem mostrados, destas tabelas, somente os registros existentes na Query da tabela GPINFO.
Por exemplo: Tem uma tabela de vendedores que é foreign key da tabela GPINFO. Quero que só fique visivel, na tabela vendedores, os vendedores que estão sendo mostrados na tabela GPINFO.
Agradeço quem ajudar (ou tentar).
Crpavao
Curtir tópico
+ 0Posts
15/11/2008
Paulo
GPINFO codinfo codvend VENDEDOR codvend nome select v.codvend,v.nome from vendedor v inner join gpinfo g on(g.codvend = v.codvend)
Acho que é isso ou não entendi nada.
Gostei + 0
16/11/2008
Crpavao
Já tenho uma query executada e quero extrair desta query somente os vendedores pertenecentes aos seus dados, deu prá sacar?
Gostei + 0
17/11/2008
Brunodsr
Gostei + 0
17/11/2008
Paulo
Gostei + 0
17/11/2008
Crpavao
Veja bem: Esta tabela GPINFO possui, originalmente, TODOS os vendedores que estão na tabela VENDEDOR.
Bom, mas aí executo uma query com vários filtros (menos filtrando por VENDEDOR).
Com isto tenho uma consulta com uma parte do GPINFO. É neste momento que quero saber quais vendedores estão nesta consulta GPINFO, sacou?
Só que quero selecionar estes vendedores de forma rápida, sem ter que ler toda esta query para saber quais são estes vendedores.
E agradeço pelo esforço, hein?
Gostei + 0
18/11/2008
Tonidavi2004
var i: integer; sql: string; begin i := 0; sql := EmptyStr; cdsGPINFOFiltrado.First; while not cdsGPINFOFiltrado.Eof do begin Inc(i); if (i = cdsGPINFOFiltrado.RecordCount) then sql := sql + IntToStr(cdsGPINFOFiltrado.FieldByName(´codvend´).AsInteger) else sql := sql + IntToStr(cdsGPINFOFiltrado.FieldByName(´codvend´).AsInteger)+ ´,´; end; cdsInfoVendedor.CommandText := Format(´select v.codvend, v.nome from vendedor ´+ ´where v.codvend in (¬s)´, [sql]); cdsInfoVendedor.Open; end;
Não esqueça de setar a propriedade [b:de7a1b6c15]Options[/b:de7a1b6c15] do [b:de7a1b6c15][i:de7a1b6c15]TDataSetProvider[/i:de7a1b6c15] poAllowCommandText[/b:de7a1b6c15] := True;
Gostei + 0
18/11/2008
Crpavao
Agradeço pacas a sua força!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)