Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pablo AG

Lookup

Recommended Posts

Galera,

 

estou com um probleminha em um filtro. Este campo é um Lookup .... Da para fazer o filtro ??

 

Propriedades do campo no cds_Pedidos

 

FieldKind = fkLookup

FieldName = DESC_SUB_GRUPO

KeyFields = TEC1_COPA

LookupDataSet = modulo2.cds_mp

LookupKeyFields = COD_MP

LookupResultFied = desc_subgrupo

 

Código do filtro

 

Screen.Cursor := crSqlWait;  Modulo2.cds_Pedidos.Filter := '';  Modulo2.cds_Pedidos.Filtered := False;  if cmbSubGrupo.ItemIndex > 0 then	if modulo2.cds_Pedidos.Filter <> '' then	  modulo2.cds_Pedidos.Filter := modulo2.cds_Pedidos.Filter + ' AND DESC_SUB_GRUPO = ' + QuotedStr( cmbSubGrupo.Text )	else	  modulo2.cds_Pedidos.Filter := 'DESC_SUB_GRUPO = ' + QuotedStr(TRIM(cmbSubGrupo.Text));  Modulo2.cds_Pedidos.Filtered := True;  Screen.Cursor := crDefault;

Abraço,

Pablo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi você quer filtrar pelo campo lookup... que eu saiba nao tem jeitobom eu sugiro você montar um SQL que faça essa ligação sem a necessidade de um campo lookup.. ai você poderá filtrar da maneira que quer...espero ter ajudadofalow

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, como o amigo disse, não é possivel mesmo filtrar pelos campos lookup. Pra isso tem que fazer um join em SQL mesmo.Pra complementar, pelo seu exemplo acredito que esteja usando DBExpress no desenvolvimento. Muitos programadores utilizam muito lookups, pois são fáceis de trabalhar, especialmente com chaves estrangeiras. Eu vi um artigo sobre chaves estrangeiras com DBExpress (pesquise no google que com certeza você acha), que tem umas dicas pra você não trabalhar com lookup em DbExpress. De inicio, os lookups funcionam bem, mas quando você se deparar com muitos dados na table de pesquisa, o desempenho do seu sistema vai cair bastante. Portanto, procure sempre trabalhar com inner joins quando precisar pegar o valor de um campo em outra table.Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.