DBgrid sendo alimentado por um Edit

Delphi

02/09/2012

Olá pessoal, estou fazendo um sistema em Delphi com o banco paradox, e estou com um problema.
Tenho apenas uma tabela com todos os campos,nome,data,..,Valor, Saldo, o sistema já esta funcionando, apenas na parte de dar baixa no saldo que eu não consigo.
Tenho uma tela que é composta por um DBedit,DbGrid,Edit, e 2 botões.Realizo a busca das licitações cadastradas e é apresentada no meu DBgrid, todas as Licitações porem com a que eu quero selecionada,assim coleto o VALOR da licitação,e Saldo, no Campo edit eu informa o valor que quero debitar, realizo os tratamentos de erros de entrada, porem na hora de salvar no banco de dados não consigo.Oque eu fiz foi assim pego o valor da licitação com o comando abaixo:

Valor_Temp:=StrToFloat(DMSCL.tblLICITACAO.FieldByName('SALDO_CONTRATO').AsString);

depois faço os tratamentos no código abaixo:

procedure TFormAtualiza.btnConfirmarClick(Sender: TObject);
var
Valor_Debitar: Real;
Saldo_Real:Real;
libera:Integer;
begin
libera:=0;
Valor_Debitar:= StrToFloat(EditDebito.Text);
Valor_Temp:= StrToFloat(DBEMPRESA.Columns[2].Field.Value);
if ( Valor_Debitar > Valor_Temp )then
begin
ShowMessage('O valor à Debitar é maior que o Saldo! Verifique o Valor Informado');
EditDebito.Clear;
EditDebito.SetFocus;
libera:=1;
end
else
begin
Saldo_Real:= (Valor_Temp - Valor_Debitar);
Label4.Caption:= FloatToStr(Valor_Debitar);
Label5.Caption:= FloatToStr(Valor_Temp);
Label9.Caption:= FloatToStr(Saldo_Real);
if DMSCL.tblLICITACAO.State in [dsEdit] then
DBEMPRESA.Columns[3].Field.Value:= FloatToStr(Saldo_Real);
DMSCL.tblLICITACAO.Close;
DMSCL.tblLICITACAO.Open;
DMSCL.tblLICITACAO.Refresh;
end;
if libera <> 1then
begin
//limpando
EditBuscaAtualiza.Clear;
EditDebito.Clear;
//desabilitando
btnConfirmar.Enabled:=False;
DBEMPRESA.Enabled:=False;
DBLookupComboBoxATUALIZACAO.Enabled:=False;
EditDebito.Enabled:=False;
btnCancelar.Enabled:=False;
DBEMPRESA.Enabled:=False;
//habilitando
btnAlterar.Enabled:=True;
btnSair.Enabled:=True;
DMSCL.tblLICITACAO.Refresh;
end;
end;

Minha ideia é assim como eu não sei indicar em qual cadastro na tabela eu devo salvar, pensei em subtrair o valor e depois jogar ele para o DBGrid e quando o BDgrid fechar ele salvaria na tabela o valor.
Não sei se isso pode/ou funciona.. não sei oque estou fazendo de errado pois não altera a tabela.
Desde já agradeço a atenção,espero que entendam, minha pergunta é boba, mas não tenho muita Habilidade com Delphi.
Ricardo

Ricardo

Curtidas 0

Respostas

Daniel Santos

Daniel Santos

02/09/2012

Voce tem 2 problemas ai amigao, 1 é estar usando o Paradox, o outro e não ter nenhum Tabela.post para salvar os dados, ali em in [dsEdit] sete o valor depois coloque DBEMPRESA.POST;
GOSTEI 0
POSTAR