fue un error de dedo pero si es 'existencia' mira este es mi codigo un poco mas completo con el que voy a agregando los registros que necesito al dbgrid:
Código Delphi
[-]procedure TForm4.codigoKeyPress(Sender: TObject; var Key: Char);
var Total: double;
begin
if Key = #13 then
begin
query2.Close;
query2.SQL.Text := 'select * from productos where codigo=:codigo';
query2.Params[0].Value := codigo.Text;
query2.Open;
descripcion.Text := query2.FieldByName('descripcion').asString;
precio.Text := query2.FieldByName('precio').asString;
existencia.Text := query2.FieldByName('existencia').asString;
form4.clientdataset1.Append;
form4.clientdataset1['codigo'] := codigo.Text;
form4.clientdataset1['descripcion'] := descripcion.Text;
form4.clientdataset1['precio'] := precio.Text;
form4.clientdataset1['cantidad'] := cantidad.Text;
form4.clientdataset1['folio'] := folio.Text;
form4.clientdataset1['fecha'] := fecha.Date;
form4.clientdataset1['subtotal'] := floatToStr( StrTofloat(cantidad.Text) * StrTofloat(precio.Text) );
form4.clientdataset1.Post;
query2.Close;
query2.SQL.Text:='SELECT folio FROM venta ORDER BY folio ASC LIMIT 1';
query2.Open;
folio.text := floatToStr( StrTofloat(folio.Text) + StrTofloat(numero.Text)) ;
ClientDataSet1.First;
while not ClientDataSet1.eof do begin
total := total + clientdataset1.FieldByName('subtotal').AsFloat;
ClientDataSet1.Next;
end;
total2.Caption := FormatFloat('#,##0.00', total);
begin
if Key = #13 then
begin
Key := #0;
Perform(WM_NEXTDLGCTL, 0, 0);
codigo.SetFocus;
end
end;
end;
y este es mi codigo para guardar esos datos mediante un boton:
Código Delphi
[-]procedure TForm4.BitBtn2Click(Sender: TObject);
begin
clientdataset1.ApplyUpdates(0);
showmessage('grabado con exito ');
ClientDataSet1.EmptyDataSet;
end;