Ir para conteúdo

POWERED BY:

Arquivado

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

EderDias

Paradox

Recommended Posts

Olá....Pessoal....tou tentando fazer uma consulta...mas tou me enrrolando numa select......

 

eu fiz este codigo e funciona legal...quando eu coloco o codigo fixo de numero 35

 

vejam abaixo nesta linha na parte deste codigo:

Add('Where ABASTE.CODVEI = (35)');

 

procedure TFormAbaste.DBEdit9Enter(Sender: TObject);begin  With Query1 Do   Begin   Close;     With Sql do     Begin     Clear;     Add('Select Max(ABASTE.KmFINAL) as Total From ABASTE');     Add('Where ABASTE.CODVEI = (35)');     Open;  DBEDIT9.TEXT := FloatToStr (Query1Total.Value);END;END;END;
na verdade ao inves de eu comparar o codigo 35 eu teria que comparar o que foi seleciona do DBLookupComboBox1 que pega dados da tabela VEI.DB e do campo PLACA

 

So que não to conseguindo montar este WHERE.

 

Alguem poderia me ajudar..???

 

Grato

 

:dunno:

Compartilhar este post


Link para o post
Compartilhar em outros sites

:D

 

Fala ai cara...tenta isso..

 

procedure TFormAbaste.DBEdit9Enter(Sender: TObject);

begin

With Query1 Do

Begin

Close;

With Sql do

Begin

Clear;

Add('Select Max(ABASTE.KmFINAL) as Total From ABASTE');

Add('Where ABASTE.CODVEI = :num');

Params[0].AsInteger := StrToInt(meValor.Text);

Open;

END;

END;

END;

 

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

BETO eu coloquei assim..como me disse mas deu erro:

 

procedure TFormAbaste.DBEdit9Enter(Sender: TObject);begin  With Query1 Do   Begin   Close;     With Sql do     Begin     Clear;     Add('Select Max(ABASTE.KmFINAL) as Total From ABASTE');     Add('Where ABASTE.CODVEI = :num');Params[0].AsInteger := StrToInt(DBLookupComboBox1.Text);     Open;  DBEDIT9.TEXT := FloatToStr (Query1Total.Value);END;END;END;
erro: LXK9572 NÃO É UMA VALOR INTEIRO VALIDO

:wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beto ja fiz isto tambem.

 

..o que eu fico entrigado é que se eu fizer assim com codigo fixo:

 

Add('Where ABASTE.CODVEI = (35)');
ele busca certinho....

 

então eu coloquei um dbedit e apontar o codvei pra ele ou seja, substitui o DBLookupComboBox1 por ele para testar....então ele me retorna o numero do codvei ou seja cada placa que coloco ele coloca pra mim o nr correspondente a placa....

mas....nem assim ele aceita......ele

 

da erro:

capability não suportado

 

fica assim o codigo:

 

begin With Query1 Do  Begin  Close;    With Sql do    Begin    Clear;    Add('Select Max(ABASTE.KmFINAL) as Total From ABASTE');    Add('WHERE ABASTE.CODVEI = StrToInt(DBEdit7.text)');    Open;    DBEDIT9.TEXT := FloatToStr (Query1Total.Value);END;END;END;
A minha tabela é:

 

 

codigo +

data d

filial A

CODVEI I

CODMOT I

CODROT I

CODPOS I

DESMOT N

 

SE tiveres mais alguma ideia......por favor.....valeu....inté

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beto o campo CodVei é da mesma Table...porem o dado dele vem da tabela Vei.db por isso que estou usando o DBLookupComboBox...ele busca dado da tabela vei.db

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Beto.....fiz uma ganbiarra e funcionou.....

 

 

Criei um campo na tabela chamado PLACA2 tipo string

então cada vez que for selecionado o codvei(placa) no dblook...ele joga o conteudo tbem para este campo placa2 como string.

 

DBEDIT7.TEXT:=DBLookupComboBox1.text;

ai sim eu posso fazer a verificação e o codigo da verificação ficou assim:

 

procedure TFormAbaste.DBEdit9Enter(Sender: TObject);beginWith Query1 Do Begin Close;   With Sql do   Begin   Clear;   Add('Select Max(ABASTE.KmFINAL) as Total From ABASTE');   Add('Where ABASTE.PLACA2 = ' + QuotedStr(DBEDIT7.Text)); ///ESTE DBEDIT7 SERIA O CAMPO QUE DEIXO INVISIVEL NO FORM....A QUAL SERVIRÁ SÓ PRA FAZER VERIFICAÇÃO DO CAMPO PLACA2.   Open;DBEDIT9.TEXT := FloatToStr (Query1Total.Value);END;END;END;

AI beleza...amigão...assim funciona.......meio Gambiarra...mas funca....de momento não tenho outro opção....hehehe.....o importante é que funca....

 

Valeu...colega..obrigado..pela ajuda e esforço....

Compartilhar este post


Link para o post
Compartilhar em outros sites

haaaaaa....@beto....eu tinha achado mais uma solução veja abaixo:

 

procedure TFormAbaste.DBEdit9Enter(Sender: TObject);beginWith Query1 DoBeginClose; With Sql do Begin Clear; Add('Select Max(ABASTE.KmFINAL) as Total From ABASTE'); Add('WHERE ABASTE.CODVEI ='+ QuotedStr(DBLookupComboBox1.keyValue)); Open; DBEDIT9.TEXT := FloatToStr (Query1Total.Value);END;END;
na verdade era só sobstitui o:

Add('WHERE ABASTE.CODVEI ='+ QuotedStr(DBLookupComboBox1.text));
por

Add('WHERE ABASTE.CODVEI ='+ QuotedStr(DBLookupComboBox1.keyValue));
na verdade o KEYVALUE do dblookupcombobox....resolveu tudo....

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.