Copiar registros entre tablas a través de formularios

Tengo 2 tablas: Tabla_Temporal y Tabla_Cierre ambas con los mismos campos (Nombre, Apellido, Edad, Área, Tipo de Trabajo).

Tengo 1 formulario : Formulario_Tareas el cual tiene los campos de registro de empleados.

En el formulario se puede seleccionar a través de comboxes el nombre del empleado y automáticamente se muestran los otros campos (Edad, Área de trabajo) y solamente se llena el campo de "Tipo de Trabajo"

En el mismo formulario tengo 2 botones. El primero "Guardar" hace que los datos del empleado se registren en Tabla_Temporal . Esta información se puede visualizar en el mismo formulario a través de un subformulario (Sub_Tareas) (en vista hoja de datos) en el cual se llena la primera fila con los datos del empleado y al mismo tiempo permite registrar un campo adicional que se llama comentarios. Al momento de completar los comentarios se habilita una línea más que repite los datos del empleado y permite modificar el campo "Tipo de Trabajo" y su nuevo comentario.

Entiendo que todos estos datos se han grabado en mi Tabla_Temporal y así puedo tener varias tareas para el mismo empleado. Ahora lo que trato de hacer (y no me funciona) es que todos los datos registrados se copien a la Tabla_Cierre y se borren de mi tabla temporal. De esta manera cuando quiera registrar a un nuevo empleado me saldrá el subformulario vacío y así puedo registrar varias tareas para el nuevo empleado.

Espero puedan apoyarme con esta solicitud.

De antemano y como siempre agradeciendo la ayuda brindada.

Slds,

Gustavo

1 Respuesta

Respuesta
2

Lo que puedes hacer es una consulta de datos anexados para copiar los valores de la tabla Temporal a la de Cierre, y luego una consulta de eliminación para borrar la tabla Temporal.

Si lo haces por medio de un botón, este es el código que has de programarle:

Private Sub NombreBoton_Click()

Dim miSQL As String

'Desactivas lso avisos de Access

DoCmd.SetWarnings False

'Construyes la SQL para la consulta de datos anexados

miSQL="INSERT INTO Tabla_Cierre SELECT * FROM Tabla_Temporal"

´La ejecutas

CurrentDb. Execute miSQL

'Construyes la SQL para la consulta de eliminación

miSQL="DELETE * FROM Tabla_Temporal"

´La ejecutas

CurrentDb. Execute miSQL

'Reactivas los avisos de Access

DoCmd.SetWarnings True

End Sub

Estimado,

De nuevo recibiendo ayuda por parte tuya. Muchas gracias como siempre.

Traté de usar el código que me compartiste pero me bota el siguiente error :

Espero puedas apoyarme o indicarme que valor debería modificar.

Gracias!

Lo siento, si tienes un campo multivalor no te funciona este método (como dice el mensaje de error), ni conozco ninguno que puedas usar, pues nunca trabajo con ese tipo de campos.

Prueba, sin embargo, a indicar todos los campos en el select, así:

miSQL="INSERT INTO Tabla_Cierre SELECT Campo1, Campo2, ..., CampoN FROM Tabla_Temporal"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas