![]() |
![]() |
| 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
|
||||
|
||||
|
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. |
|
#2
|
|||
|
|||
|
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; |
|
#3
|
||||
|
||||
|
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! |
|
#4
|
|||
|
|||
|
disculpa!!
a ok. no sabia pero con referente al tema pudieras ayudarme!
|
|
#5
|
||||
|
||||
|
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 |
|
#6
|
|||
|
|||
|
Si de hecho es en ese evento onEnter donde tengo ese codigo.
pero como pongo la tabla mezclas todo el tiempo en estado de insercion o edicion, donde pondria ese codigo? ![]() |
|
#7
|
||||
|
||||
|
Cita:
![]() ![]()
__________________
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|