none
Ayuda Necesito pasar registro de una tabla a Otra RRS feed

  • Pregunta

  • tengo una Base de datos en access y dentro tengo 2 tablas, Pagado y Debe

    lo que deseo hacer ya sea con checkbox o combobox, es que al momento de seleccionar Cancelado de la tabla "debe" este registro pase automaticamente a la tabla pagado y se borre de la tabla debe.

    no se si me logro explicar

    PD: Uso access 2013 y Visual studio 2015 (planilla de visual basic)

    martes, 21 de febrero de 2017 5:16

Respuestas

  • Chisnok1,

    Dudo que el procedimiento que usas sea el correcto para representar un escenario de gestión de cobranza. 

    Una deuda (por cobrar o por pagar) genera pagos o cargos que representan el incremento o la disminución de la deuda, puedes representarlo en dos tablas: [Deuda] y [Pagos]. La tabla [Pagos] justifica el saldo actual de la deuda que -como te mencioné en el punto anterior- puede contener abonos y/o cargos.

    En un escenario más simple -dudo que sea aplicable a casos reales- puedes mantener la tabla [Debe] (que entiendo representa las deudas) y agregar una columna de tipo bit (0, 1) que puedes nombrar como [IsCancelado], cuando la deuda ha sido cancelada el valor de la columna será 1 caso contrario (por default) se mantendrá en 0, claro, te vas olvidando de pagos en cuotas o cargos sobre la deuda pero evitas la mala decisión de "transferir" filas entre tablas.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 21 de febrero de 2017 15:02
  • Puedes pasar los registros de una tabla a otra con insert ejecutando 

    INSERT INTO TablaDestino (Campo1, Campo2)
    SELECT CampoOrigen1, CampoOrigen2
    FROM TablaOrigen
    WHERE Condición

    Si quieres eliminar los registros de la tabla de origen ejecuta

    DELETE FROM TablaOrigen WHERE Condicion

    Tienes que tener en cuenta que al hacer el insert no se produzcan errores por duplicidad de clave principal y que al borrar en el origen no se afecten dependencias.


    Saludos, Javier J

    martes, 21 de febrero de 2017 9:32

Todas las respuestas

  • Puedes pasar los registros de una tabla a otra con insert ejecutando 

    INSERT INTO TablaDestino (Campo1, Campo2)
    SELECT CampoOrigen1, CampoOrigen2
    FROM TablaOrigen
    WHERE Condición

    Si quieres eliminar los registros de la tabla de origen ejecuta

    DELETE FROM TablaOrigen WHERE Condicion

    Tienes que tener en cuenta que al hacer el insert no se produzcan errores por duplicidad de clave principal y que al borrar en el origen no se afecten dependencias.


    Saludos, Javier J

    martes, 21 de febrero de 2017 9:32
  • Chisnok1,

    Dudo que el procedimiento que usas sea el correcto para representar un escenario de gestión de cobranza. 

    Una deuda (por cobrar o por pagar) genera pagos o cargos que representan el incremento o la disminución de la deuda, puedes representarlo en dos tablas: [Deuda] y [Pagos]. La tabla [Pagos] justifica el saldo actual de la deuda que -como te mencioné en el punto anterior- puede contener abonos y/o cargos.

    En un escenario más simple -dudo que sea aplicable a casos reales- puedes mantener la tabla [Debe] (que entiendo representa las deudas) y agregar una columna de tipo bit (0, 1) que puedes nombrar como [IsCancelado], cuando la deuda ha sido cancelada el valor de la columna será 1 caso contrario (por default) se mantendrá en 0, claro, te vas olvidando de pagos en cuotas o cargos sobre la deuda pero evitas la mala decisión de "transferir" filas entre tablas.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    martes, 21 de febrero de 2017 15:02