Anexar datos de una tabla a varias

Expertos pido su ayuda
¿Tengo una duda puedo anexar los datos que se capturan en una tabla a 4 tablas más?
¿Y cómo es posible hacer esto?

1 respuesta

Respuesta
2
¿Cómo capturas los datos de la tabla? ¿Mediante un formulario o metiéndolos directamente en la tabla?
Me cuentas.
Mediante un formulario
Creo que lo mejor es, al capturar los datos mediante el formulario estos se inserten a la vez en todas las tablas que quieras.
Creas un formulario independiente, no lo bases en ninguna tabla ni consulta. Creas los cuadros de texto necesarios para capturar los datos que vas a insertar. Suponemos que las tablas se llaman Tabla1, Tabla2 y Tabla3 con los campos Código (numérico), Detalle (texto) y Fecha (Fecha/Hora)
Te pongo 3 campos de distinto tipo para que veas como tratarlos en la instrucción sql.
Los cuadros de texto que vamos a utilizar para capturar los datos los llamaremos txtCod, txtDet y txtFecha respectivamente.
Creas un botón y en el código de ese botón pones:
DoCmd.RunSql "Insert Into tabla1 (codigo, detalle, fecha) values (" & form!txtCod.value & ", '" & form!txtDet.value & "', cdate('" & form!txtFecha.Value & "'))
DoCmd.RunSql "Insert Into tabla2 (codigo, detalle, fecha) values (" & form!txtCod.value & ", '" & form!txtDet.value & "', cdate('" & form!txtFecha.Value & "'))
DoCmd.RunSql "Insert Into tabla3 (codigo, detalle, fecha) values (" & form!txtCod.value & ", '" & form!txtDet.value & "', cdate('" & form!txtFecha.Value & "'))
Así con todas las tablas que quieras.
La instrucción Insert Into lo que hace es insertar en la tabla que le digas, en los campos de esta tabla separados por, los valores que indiques, en este caso los valores que has introducido en los cuadros de texto.
Si quieres algún otro ejemplo que como hacerlo, en la página:
En el apartado formularios, supuesto: formulario para insertar datos
Tienes otra forma de hacerlo (mediante un recordset)
Me cuentas.
Hola Angeles,
Ya intente con esto que me sugieres mediante un formulario y me sale un error de sistaxis en INSERT INTO
¿Te puedo mandar mi B.DE a tu correo para que le eches un vistazo haber que es lo que esta pasando?
Gracias por tu ayuda
Me tendrás que mandar la BD en access 2003, es el que tengo. En asunto pon el enunciado de tú pregunta, es que tengo muchas y si no no me entero de que va.
[email protected]
Otra vez,
Si no puedes pasar la BD a 2003, copia y pega lo que has escrito en la instrucción Insert Into a ver si puedo ver el error.
Este es el código que puse en el botón en el evento al hacer clic
DoCmd.RunSQL "Insert Into PRODUCCION_ENSAMBLE (PART, TURNO, DATE) values (" & Form!txtpart.Value & ", '" & Form!txtturno.Value & "', cdate('" & Form!txtfecha.Value & "')"
Te falta un paréntesis de cierre:
DoCmd.RunSQL "Insert Into PRODUCCION_ENSAMBLE (PART, TURNO, DATE) values (" & Form!txtpart.Value & ", '" & Form!txtturno.Value & "', cdate('" & Form!txtfecha.Value & "'))"
Supongo que el campo part es numérico, turno de texto y date de fecha (No es bueno llamar un campo igual que una función y DATE es una función, fecha del día. Creo que ese campo lo tendrías que llamar de otra forma)
Me cuentas.
Angeles,
El campo PART es texto porque los datos son números y letras
¿Tengo qué cambiar algo si es campo PART es formato texto?
Cuando el campo es texto: comilla simple doble comilla:
'" & form!txtPart.Value & "'
si fuese numérico: comilla doble (la comilla simple indica que es una cadena de texto):
" & form!txtPart.value & "
Y si es de fecha tienes que tener en cuenta que un cuadro de texto te devuelve un texto por ello lo tienes que pasar a fecha con la función CDate:
cDate('" & form!NombreDelCuadroDeTexto.Value & "')
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas