ya le intente de la manera que me dicen y meto el primer registro al dbgrid pero cuanto intento meter el segundo me marca un error que idce "cliente dataset1: cannot perform this operation on an open dataset" este es el codigo del problema:
Código Delphi
[-]form4.ClientDataSet1.CreateDataSet;
form4.ClientDataSet1.Open;
form4.ClientDataSet1.Append;
form4.ClientDataSet1.FieldByname('fecha').AsDateTime := form4.fecha.Date;
form4.ClientDataSet1.FieldByname('codigo').AsString := codigo.Text;
form4.ClientDataSet1.FieldByName('nombre').AsString := nombre.Text;
form4.ClientDataSet1.FieldByName('unidad').AsString := unidad.Text;
form4.ClientDataSet1.FieldByName('cantidad').AsString := cantidad.Text;
form4.ClientDataSet1.FieldByName('precio').AsString := precio.Text;
form4.ClientDataSet1.FieldByName('importe').AsString := floatToStr( StrTofloat(cantidad.Text) * StrTofloat(precio.Text) );
form4.ClientDataSet1.Post;