Ver Mensaje Individual
  #3  
Antiguo 05-08-2005
jdangosto jdangosto is offline
Miembro
 
Registrado: jun 2004
Posts: 82
Reputación: 20
jdangosto Va por buen camino
La instruccion post es porque antes inserto otros valores en la tabla, y al ser un campo autonumérico, según creo, hasta que no salve los datos en la tabla, no le asigna un número.

Me sirve la segunda instrucción.

El código delphi que utilizo sería el siguiente:
Código Delphi [-]
procedure Tventas.BtnGuardarClick(Sender: TObject);
var num:integer;
begin
//inserto los datos en la tabla ventas
tabla_ventas.FieldByName('Cod_cliente').AsInteger := dblookupcombobox1.KeyValue;
tabla_ventas.FieldByName('Nbre').AsString := dbedit1.Text;
tabla_ventas.FieldByName('Apellidos').AsString := dbedit3.Text;
tabla_ventas.FieldByName('Dni').AsString := dbedit2.Text;
tabla_ventas.FieldByName('Tlf').AsInteger := dbedit4.Tag;
tabla_ventas.FieldByName('Tlf_mvil').AsInteger := dbedit5.Tag;
tabla_ventas.FieldByName('Fecha').AsDateTime := datafecha.DateTime;
//actualizo los campos del cliente en la tabla ventas
tabla_ventas.post;
//asigno el valor del num_venta a la vble.
num := tabla_ventas.Fields[1].AsInteger;
//inserto los datos en la tabla detalle
tabla_detalle.FieldByName('num_venta').AsInteger := num;
tabla_detalle.FieldByName('SubTotal').AsInteger := dbgrid1.Fields[5].AsInteger;
tabla_detalle.Post;
end;

Previamente pongo la tabla_ventas y la tabla_detalle en modo inserción desde otro formulario, pero al presionar el boton me dice que el dataset asociado a la tabla_detalle no esta en modo de inserción o edición.

¿Sábes porqué puede ser? Creía que con poner la tabla en modo inserción es suficiente.

Gracias
__________________
Lo que los Ojos ven y los Oidos Oyen la Mente se lo Cree (H.Houdini)
Responder Con Cita