kcris Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 Estou tentando pegar dois campos de tabelas diferente e soma-los, mas não sei procedure TForm1.Button2Click(Sender: TObject); Var Result1, Result2, ResultadoFinal: real;begin qry4.Active := False; qry4.SQL.Clear; Result2:= qry4.SQL.Add('Select Indice_m from Manejo where Grupo like " '+ cb2.Text + '" '); qry4.Active := true; label2.Caption := floatToStr(Result2); qry3.Active := False; qry3.SQL.Clear; Result1:= qry3.SQL.Add('Select Indice_u from Culturas where Culturas like "'+ cb1.Text +'" '); qry3.Active := true; label1.Caption := floatToStr(Result1); ResultadoFinal:= Result1 + Result2; edit1.Text:= floattoStr(ResultadoFinal);end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kcris Postado Fevereiro 15, 2005 Autor Denunciar Share Postado Fevereiro 15, 2005 Desculpem, deu um erro e não terminei de escrever lá em cima. Os campos Result1 e 2 ficam valendo 0 neste procedimento, Por que? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CKorneLL Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 Lá na declaração de variável, troque Real por Double... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kcris Postado Fevereiro 15, 2005 Autor Denunciar Share Postado Fevereiro 15, 2005 Não funcionou. O erro está no select... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CKorneLL Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 Kcris, você pode dizer q tipo de erro ele dá??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 Ele roda normal, mas os valores que ele devia pegar nos selects'Select Indice_m from Manejo where Grupo like " '+ cb2.Text + '" ', não está pegando certo, valem 0, enqunto era para valer um numero decimal, deu para entender? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CKorneLL Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 E quais são os valores q estão na caixa de texto???Ali na opção LIKE coloque %... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kcris Postado Fevereiro 15, 2005 Autor Denunciar Share Postado Fevereiro 15, 2005 São valores que vem da tabela. Acontece que para minha soma eu não quero os valores selecionados. Vou dar um ex da tabela:Tabela de culturasCod Cultura Indice_u2 banana 0,34Tabela de manejoCod Manejo Indice_m6 Arado 1,00no combobox eu seleciono a banana(Tabela de Culturas), e no outro combo o cod(tabela de manejo), através destes quero somar o índice_u e o Indice_m Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 Result2:= qry4.SQL.Add('Select Indice_m from Manejo where Grupo like " '+ cb2.Text + '" ');A propriedade SQL de qry4 é um TStrings e quando você executa a função Add, ela retorna o índice da string adicionada à TStrings o que não tem nada a ver com aquilo que você quer. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kcris Postado Fevereiro 15, 2005 Autor Denunciar Share Postado Fevereiro 15, 2005 O que faço então? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Fevereiro 15, 2005 Denunciar Share Postado Fevereiro 15, 2005 Após montar sua sql: Result2 := 0; qry4.Open; While not qry4.Eof do begin Result2 := Result2 + qry4.FieldByName('Indice_m').asFloat; qry4.Next; end; qry4.Close; E a mesma coisa p/ a outra query. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
kcris
Estou tentando pegar dois campos de tabelas diferente e soma-los, mas não sei
procedure TForm1.Button2Click(Sender: TObject);
Var Result1, Result2, ResultadoFinal: real;
begin
qry4.Active := False;
qry4.SQL.Clear;
Result2:= qry4.SQL.Add('Select Indice_m from Manejo where Grupo like " '+ cb2.Text + '" ');
qry4.Active := true;
label2.Caption := floatToStr(Result2);
qry3.Active := False;
qry3.SQL.Clear;
Result1:= qry3.SQL.Add('Select Indice_u from Culturas where Culturas like "'+ cb1.Text +'" ');
qry3.Active := true;
label1.Caption := floatToStr(Result1);
ResultadoFinal:= Result1 + Result2;
edit1.Text:= floattoStr(ResultadoFinal);
end;
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.