Modificar tabla Access mediante formulario

Tengo una tabla llamada TABLA_OF con un campo llamado Referencia y otro llamado cantidad y tengo un formulario llamado FORM_OF en el que hay un campo Referencia (es un cuadro combinado de valores) y otro campo Cantidad (cuadro de texto).
Lo que quiero es que una vez se pulse un botón de comandos llamado Guardar, me anexe en la tabla TABLA_OF los dos campos Referencia y Cantidad del formulario en los campos Referencia y cantidad de la TABLA_OF.
Por otro lado abriré la tabla con un formulario en el que habrá la lista de Referencias, y que al lado le pondré un botón que le llamaré Abrir, que cuando seleccione la referencia (mediante botón de verificación) me abra el formulario con la referencia seleccionada.

1 respuesta

Respuesta
1
No acabo de entender una cosa de lo que me explicas. En el formulario FORM_OF, ¿no tienes los campos Referencia y Cantidad ligados a la tabla? Porque doy por supuesto que FORM_OF está basado en la tabla TABLA_OF.
Para saber si están ligados sacas sus propiedades y te vas a la pestaña Datos, y miras cuál es el origen del registro: ahí debería aparecerte el nombre de los campos de la tabla.
Si no no acabo de entender el funcionamiento de tu formulario.
Ya me dirás.
Buenas!
No no, esto ya lo se hacer.
ME voy a explicar mejor. Es una base de tratamiento de ofertas. Entonces, el usuario cuando abra la base, tendrá un menú que le dirá, crear oferta o buscar oferta. Primero creará la oferta y se le abrirá el formulario FORM_OF que es un formulario vacío y no ligado a ninguna tabla. Llenará los campos manualmente y cuando le dé a ACEPTAR lo que quiero que haga es que me inserte los campos seleccionados en el formulario en la tabla TABLA_OF.
Si quiere crear otra oferta hará lo mismo, y los campos se le irán anexando en la tabla TABLA_OF.
Ahora bien cuando quiera buscar una oferta (Sea por visualización o modificación) pulsará a BUSCAR OFERTA. Aquí tengo que pensar si haré un formulario de visualización de las ofertas o simplemente un cuadro que introduzca el numero de Referencia. Entonces una vez seleccionada la Referencia, se le abrirá un formulario idéntico al anterior, llamémosle FORM_OF_AFTER que estará ligado a la tabla TABLA_OF i que dependiendo de la referencia seleccionada se te abrirá con unos datos u otros.
¿Me explico mejor?
El problema es que cuando el usuario crea la oferta llenando los campos manualmente entonces que me anexe en la tabla TABLA_OF los datos del formulario.
Muchas Gracias!
Un Saludo!
Sin ánimo de criticar, lo que estás pidiendo va en contra de la filosofía de Access. Si el proceso "normal" es tener una tabla y sobre ella crear un formulario para introducir los datos, ¿para qué necesitas añadir más pasos y complicarte la vida con un formulario intermedio? Lo cierto es que no tiene mucho sentido conseguir lo mismo en tres o cuatro pasos cuando puedes conseguirlo en dos.
Si todavía sigues con la idea de seguir con tu sistema te indico un procedimiento para hacerlo:
1.- Creas una tabla auxiliar (yo la llamaré TAux) con los campos que quieras pero que tengan relación con la tabla TABLA_OF. Eso significa que pueden tener el nombre que quieras pero la tipología de los datos debe ser coincidente para poder anexarlos.
2.- El formulario FORM_OF deberá estar construido sobre esa tabla auxiliar.
3.- Creas una consulta (yo la llamaré CAuxAnex) y añades los campos de la tabla auxiliar. Una vez hecha la conviertes en una consulta de datos anexados sobre la tabla TABLA_OF, y vinculas cada campo de origen con campo de destino.
4.- Copias esa consulta hecha y la pegas como CAuxElim. La editas en vista diseño y la conviertes en una consulta de eliminación
5.- Al botón GUARDAR de FORM_OF le pones el siguiente código:
---
Private Sub...
DoCmd.RunCommand acCmdSaveRecord
DoCmd.SetWarnings False
DoCmd. OpenQuery "CAuxAnex"
DoCmdOpenQuery "CAuxElim"
DoCmd.SetWarnings True
'Aquí el código que quieras que haga el botón (cerrar formulario, ir a nuevo registro, etc)
End Sub
---
Si tienes alguna duda sobre las consultas de datos anexados o de eliminación puedes echar un vistazo aquí.
El proceso del código es: relleno los datos->Guardo el registro, que se guarda en la tabla auxiliar->Ejecuto la consulta, que me pasa los datos a la tabla principal->Ejecuto la siguiente consulta, que elimina los datos que ya se han pasado
Y eso es todo. Ya me dirás. Cuando te funcione esto me comentas qué has decidido respecto a la segunda parte de tu consulta.
Yuhuuuuu! ¿Hay alguien? Je, je...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas