![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
1.- Primero que nada establece la relación Maestro-Detalle entre las tablas Mezclas/Materias_Primas.
Esto lo puedes hacer con las propiedades MasterSource y MasterFields del DataSet Detalle (Materias_Primas) En este punto te aconsejo que veas un demo que trae delphi que se llama MastApp búscalo en la carpeta de 'Demos/DB'. 2.- Para seleccionar el producto terminado en un ComboBox agrega un DBLookUpComboBox y crea una relación entre la tabla Mezclas/Productos terminados (no es necesario agregar un campo LookUp en la tabla de Mezclas). 3.- Para que cada celda nueva en el DBGrid tenga la clave del producto terminado utiliza el evento OnNewRecord como te lo indique anteriormente 4.- Para calcular los totales puedes utilizar una sentencia SQL en un query por ejemplo:
Debes actualizar las sumas después de guardar cambios o borrar algún registro de la tabla de materias primas, es decir en los eventos OnPost y OnDelete. Bueno, creo que son muchas cosas a la vez, intenta con esto por lo pronto. Un saludo. |
|
#2
|
|||
|
|||
|
Ok. voy a seguir esos pasos, pero una duda?
porque una relacion maestro delatalle entre Mezclas y materias primas? no debe ser entre Mezcla-Productos Terminados?? porque el codigo de la mezcla debe ser el mismo del codigo del producto terminado.... y en el grid es donde debo cargar las materias primas que van a conformar el producto terminado "x"..... ![]() |
|
#3
|
||||
|
||||
|
En realidad necesitas otra tabla para la relación Mezclas-Materias_primas
porque es una relación uno a muchos (1 <-> n). A cada mezcla se le puede asociar más de una materia prima. Crea una tabla que se llame partidas_mezclas o algo asi, en ella los atributos son: el código de la mezcla, y el código de la materia prima,el costo, la cantidad, etc. Esta nueva tabla es la que estará asociada con el DBGrid. La relación maestro-detalle es entre Mezclas/Partidas_Mezclas Por otra parte, la relación Mezclas-Productos terminados es uno a uno (1<->1). A cada mezcla le corresponde un sólo producto terminado y viceversa. Esta no es relación maestro-detalle, en este caso puedes utilizar un DBComboLookUp ------------------------------------------------- Crea esta nueva tabla y seguimos en contacto. Última edición por Héctor Randolph fecha: 10-11-2005 a las 04:53:29. |
|
#4
|
|||
|
|||
|
Hola, ya realice todos los pasos que me dijistes, tengo un detallito
necesito que el campo codigo del DBgrid sea igual al valor del DBLookupComboBoxes decir: MisTablas.Mezclas.FieldByName('Codigo').Value := DBlookupComboBox1.Text; ------------------------------------------------------------------------ hice lo que me dijistes del OnewRecord en la tabla que esta ligada al DBgrid pero cuando guarda, lo que hace es poner en el campo codigo del DBgrid el mismo valor del codigo de la materia prima que seleccione en el grid. este es el codigo que tengo: procedure TMisTablas.PartidasNewRecord(DataSet: TDataSet); begin MisTablas.PartidasCODIGO.Value:= MisTablas.MezclasCodigo.Value; end; ------------------------------------------------------------------------ este codigo lo uso para guardar: procedure TFrmMezclas.ItemsGridEnter(Sender: TObject); begin if (DSMezclas.DataSet.State = dsEdit) or (DSMezclas.DataSet.State = dsInsert) then begin DSMezclas.DataSet.Post; DSMezclas.DataSet.Refresh; end; end; |
|
#5
|
||||
|
||||
|
Saludos
EfrainSanmiguel, apuesto que no has leido la guia de estilo!!!! Has posteado en este hilo 6 mensaje, y aun no he visto la primera etiqueta utilizada por tí. Creo que ya es hora de utilizarlas
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
|
#6
|
|||
|
|||
|
disculpa!!
a ok. no sabia pero con referente al tema pudieras ayudarme!
|
|
#7
|
||||
|
||||
|
Disculpa pero no entiendo bien esta parte.
¿Exactamente en que momento activas este código, en el evento OnEnter del DBGrid? Si es así, ¿Porqué en ese evento? De hecho yo te sugiero que la tabla mezclas permanezca en estado de inserción/edición mientras agregas los items, si haces un Refresh sobre la tabla posiblemente recorrerás el puntero de registros y tu información no será correcta. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|