PDA

Ver la Versión Completa : Ejemplo Maestro-Detalle


RedVenom
01-11-2017, 19:07:56
Buenos días

Estoy empezando con una aplicación de punto de venta y nunca he trabajado con maestro-detalle y no se como implementarlo en mi form, bueno la idea que tengo es que primero tener los edit en donde voy a tener capturado los datos del cliente y voy a tener un combobox donde podrán escoger el producto con un edit en donde se ponga la cantidad y un botón agregar y cada vez que le den agregar que se agregue a una stringgrid y posteriormente cuando le en el botón realizar venta guardo en primer lugar la venta en la tabla nota de venta y después guardo en la tabla detalle venta lo que tengo en la stringgrid, aquí la duda que tengo es como hago para traerme el id de la nota de venta para poder guardarlo posteriormente junto con los datos del stringgrid en la tabla detalle venta.


Espero me puedan orientar o proporcionarme un ejemplo si se pudiera.

Gracias

The Cid James
02-11-2017, 13:02:35
Me encuentro haciendo algo parecido para una materia en la facu por lo poco que se es:
Que te guíes por el proyecto. Si es solo un ejercicio se mas claro.

Cuantos form trabajas?, cuatas tablas/consultas estas tratando?
En mi poca experiencia con delphi... no seria mejor trabajar con DBEdit? y con el tema del stringgrid te recomiendo que uses un TDBgrid te ahorras mucho trabajo y trabajar con los dataset es mucho mas facil.

Con el tema del id tenes que idicarle que dato vas a tomar... algo asi

begin
fmodulo.tVentadetalle ['id_ventas'] := fmodulo.tVenta ['id_venta'];
fmodulo.tventadetalle ['id_producto'] := fmodulo.tProductos ['id_producto'];
fmodulo.tVentadetalle ['precio'] := fmodulo.tProductos ['precio'];
fmodulo.tventadetalle.Post;
fmodulo.tVenta.Edit;
fmodulo.tVenta ['total_venta'] := fmodulo.tVenta ['total_venta'] + fmodulo.tventadetalle ['precio'];
fmodulo.tVenta.Post;
end;
fmodulo.tVenta.Refresh;
En este caso estoy enviando los datos del producto de un dbgrid a otro y de un formulario a otro

Espero que puntualices mas tus dudas ya que difícilmente te pasen el código echo

Saludos