Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Cómo ingresar la misma fk varias veces en el mismo formulario? (http://www.forosdelweb.com/f86/como-ingresar-misma-fk-varias-veces-mismo-formulario-443096/)

Carxl 14/11/2006 13:35

Cómo ingresar la misma fk varias veces en el mismo formulario?
 
Hi! Cómo van??

Trataré de ser lo mas explícito posible:

Resulta que actualmente tengo un formulario que hace de "recibo de pago". Acá me digitan el código del concepto a cancelar.

Cómo lo tengo ahora, sólo me pueden ingresar un pago por recibo; es decir, si tengo que cancelar tres cosas, me tocaría ingresar tres veces a la página y volver a escribir todo, cambiando únicamente los códigos de conceptos. Aclaro, el "código del concepto" estaría funcionando en ese momento como la fk.

Esto resulta muy dispendioso cuando son mas de dos pagos.

Mi pregunta: sería posible que me digitarán todo de una vez?? en el mismo formulario???, todos los pagos de una??? qué tendría que hacer??

Ojalá que me hayan entendido.... gracias de antemano.:'( :'( :'( :'(

Saludos. :arriba: :arriba:

PequeñoMauro 14/11/2006 13:44

Se puede hacer, pero tienes que agregar una nueva tabla que contemple eso, una tabla detalle. Podrias poner la tabla y sus campos?....

Carxl 14/11/2006 17:23

Hola pequeño mauro!, muchas gracias por responder.

Si, tengo la tabla maestra y la tabla detalle. Cómo sería el procedimiento a seguir???. Me cogiste fuera del trabajo, por lo que no tengo aquí las tablas ni nada. Sin embargo, me puedes adelantar algo??. Muy pronto te estaré posteando dichas tablas....


Gracias nuevamente por tu respuesta.:si: :si:

Saludos:si: :si: :arriba: :arriba:

PequeñoMauro 15/11/2006 08:18

Bueno, la cosa seria saber como es tu tabla, mas o menos lo que se haria seria asi:
tabla RECIBO --la que tu dices tabla maestra
codcli --(codigo de cliente)
codigo --(un consecutivo del recibo) para mi seria el pk junto al codcli
monto_total --monto total del recibo
.... y otros campos más....

tabla DETALLE
codigo (FK de la tabla recibo)
concepto (especificas articulo)
cantidad
monto_detalle (monto por articulo o concepto)
etc....

Estoy asumiendo que con el concepto identificas el articulo que vas a cancelar.
En tu formulario harias una especie de childtable o tablita donde ingresas (o seleccionas) el concepto, la cantidad y el monto por concepto. En la tabla recibo guardarias el número del recibo y el monto total(puedes calcularlo por programación o puede visualizarte en tu mismo formulario), y en detalle guardarias el número de recibo, concepto, cantidad y monto por concepto.
Yo haria algo asi, y bueno, todo depende de como esten tus tablas. Quizás otros usuarios del foro tengan otra forma de hacerlo.
Saludos, espero que te ayude en algo, cualquier cosa ya sabes donde encontrarme....:arriba:

Carxl 15/11/2006 14:45

Mira las tablas
 
Hola de nuevo pequeño mauro!!!!

Estas son mis dos tablas.

La maestra
--------------------------
consecutivo(pk)
consecutivo_cliente(fk) ---> esta viene de una tabla llamada "cliente"
fecha_emision
fecha_vencimiento
observacion
actvo

La detalle
---------------------------
cnsecutivo(fk) ---> esta viene de la maestra
codigo_tipo_servicio(fk) ---> esta viene de una tabla llamada "Tipo_servicio" y es la que necesito insertar o mostrar varias veces en el mismo formulario.
cantidad
valor_total

Espero que haya sido claro...., gracias de antemano.

PequeñoMauro 15/11/2006 15:29

Hola, las tablas estan bien, yo creo que el problema va en el diseño del formulario donde ingresan la información, pues solo se contempla para ingresar un solo tipo_servicio. Dependiendo de que lenguaje de programación usas, debes agregar, como te comente en el post anterior, una especie de tablita donde puedas agregar las filas que quieras seleccionando el servicio....
Saludos :arriba:

Carxl 15/11/2006 15:55

Hi!

Bueno pequeño mauro ya al menos sé que mi db está bien no?, gracias por tu ayuda y atención.

Ahoara me preguntaré en el otro foro sobre la "tablita".

Gracias por tu ayuda!!!!!!!!!!:arriba: :arriba: :arriba: :si: :si:


La zona horaria es GMT -6. Ahora son las 12:15.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.