SQL

Delphi

22/06/2006

Tenho essa situacao que esta funcionando normal:
´ WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF ´

Queria colocar mais essa, mas esta dando erro
CCP_ITEM.CCPI_V_STATUS = ´AB´

´ WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF .AND. CCP_ITEM.CCPI_V_STATUS = ´AB´´


Evaldo.ms

Evaldo.ms

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

22/06/2006

Tenho essa situacao que esta funcionando normal: ´ WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF ´ Queria colocar mais essa, mas esta dando erro CCP_ITEM.CCPI_V_STATUS = ´AB´ ´ WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF .AND. CCP_ITEM.CCPI_V_STATUS = ´AB´´


Onde e Qual seria o erro que está apresentando, não sei se está exatamente assim: mais existe um erro de digitação na instrução acima, deveria estar assim:
´Select * ....
WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF AND CCP_ITEM.CCPI_V_STATUS = "AB" ´

onde tem AB deve ser usado duas aspas simples e não aspas duplas, sei que visualmente não existe diferença mais para o delphi tem e muita ou por outra vc transformar em paramentro também...
´Select * ....
WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF AND CCP_ITEM.CCPI_V_STATUS = :Status ´

e tratar da mesma forma de vc trata os DataI e DataF
Tabela.Params.ParamByName(´Status´).AsString := ´AB´;

espero ter ajudado :wink:


GOSTEI 0
Evaldo.ms

Evaldo.ms

22/06/2006

Valei mano pela dica, é que sou clippeiro de carterinha e estou acostumado com .AND.


GOSTEI 0
Evaldo.ms

Evaldo.ms

22/06/2006

Mais um duvida.
WHERE CCP_ITEM.CCPI_D_DTVCTO BETWEEN :DATAI AND :DATAF AND CCP_ITEM.CCPI_V_STATUS = ´´AB´´

Eu queria acresentar mas um filtro na mesma sql.
CCP.PES_I_COD = integer
AND CCP.PES_I_COD = DBEdit1
como deveria fica?


GOSTEI 0
Paullsoftware

Paullsoftware

22/06/2006

DbEdit ou Edit?

Eu queria acresentar mas um filtro na mesma sql. CCP.PES_I_COD = integer AND CCP.PES_I_COD = DBEdit1 como deveria fica?

basta usar mais um AND e assim por diante...

sempre que precisei usar muitos filtros em uma SQL eu faço assim:
Digamos que tenho uma tabela de clientes e que preciso trazer os clientes de uma cidade e depois filtrar pela idade, então:

no botão filtro eu faço:

CDS = ClientDataSet de Clientes

With CDS do
begin
Close;
CommandText := ´´;
CommandText := ´select * from CLIENTES where cidade=:pCidade and Idade=:pIdade´;
Parms.ParamByName(´pCidade´).AsString := ComboBox1.Text;//Poderia vim de um Edit também...
Parms.ParamByName(´pIdade´).AsString := EditIdade.Text; //Observe que mesmo o campo sendo inteiro eu posso convertê-lo direto sem necessitar da instrução IntToStr(Inteiro)...
Open;
end;

e no onKeyPress do EditIdade eu faço:
Botton1.Click;

assim sempre que mudar a Idade e der enter ele vai filtrar todos os clientes da mesma cidade com a idade informada, ou seja, vc pode fazer todos os filtro padrões numa unica instrução SQL e depois acionar somente nos controles que forem alterados na tela do cliente....
espero ter ajudado :wink:


GOSTEI 0
POSTAR