Limpiar variables después de alta registro

Siguiendo con mi consulta anterior (que sigue en pie porque no consigo solventarlo), tengo también el problema de cómo refescar las variables al grabar un registro.
Con el botón "grabar", paso a la bd los campos de pantalla simplemente aprovechando el botón correspondiente de Access.
Para grabar y pasar a registro nuevo he sumado los comandos de cada uno de estos botones, y de paso le pido que refresque, pero sólo lo hace del primer campo del registro.
La "macro" ha quedado así:

El tema está en que no se refrescan los cuadros combinados, que en el nuevo registro arrastran los valores del anterior.
Vale, pulsando el botón "actualizar" al situar el foco sobre cada campo se resuelve, pero ya sabéis cómo son los usuarios... Que si "mucho trabajo", que si "me va a dar artrosis en el dedo", que si "para eso me voy al gimnasio y al menos disfruto del paisaje"...
¿Sabéis si hay modo de actualizar todas las variables al abrir llamar a un registro nuevo?
Y no sirve salir de altas y volviendo a entrar... Eso lo hacía Bill Gates y así le ha ido.
Me da rabia porque estoy seguro que hay un modo, pero hace tantos y tantos años que no programo SQL ni Visual basic ...

1 respuesta

Respuesta
1
Creo que lo mejor para insertar datos es hacer un formulario independiente, sin basarlo en ninguna tabla y añadir los datos mediante un botón que ejecuta una sql de Insert Into.
En la página:
http://angelessebas.es/ (obviamente, la de antes)
En el apartado Formularios supuesto Insertar registros tienes varias formas de hacerlo.
Cualquier duda, me consultas.
Hola Ángeles,
En primer lugar: muchas gracias.
En seguido lugar: "amos" al tema.
Necesito que el formulario esté ligado a la base de datos porque depende de determinadas tablas para seleccionar exclusivamente provincias y/o municipios del delegado en cuestión.
Usar recordsets es, creo, una buena opción para almacenar los datos que el usuario va entrando, ¿pero puedo usar los cuadros combinados ligados a las tablas actuales/reales y almacenar en el recordset?
Y, en todo caso, la utilidad es que las variables, al pasar la información del recordset a la tabla correspondiente, lo vacío completamente, ¿es eso, verdad?
(Por cierto, muy ilustrativa e interesante tu web, un ejemplo a seguir).
JM
Creo que un formulario para introducir datos debe de ser independiente y mediante un botón insertar el registro "cuando tú quieras" y no cuando quiera access. Cuando ligas el formulario a una tabla o consulta y por ejemplo sales de él, access inserta el registro o lo actualiza... o lo que sea.
Dices que tienes que elegir provincias o municipios y.. ¿qué?
Supongamos que tenemos 2 tablas, Provincias (NombreProvincia) y Municipios (NombreProvincia, NombreMunicipio) y otra tabla, que llamamos Resultado (NombreProvincia, NombreMunicipio y Evento), en la que queremos añadir NombreProvincia seleccionándolo de la tabla Provincias, NombreMunicipio seleccionándolo de la tabla Municipios y Eventos, este último lo tecleamos en un cuadro de texto.
En el formulario independiente insertamos 2 cuadros combinados, uno para elegir la Provincia y otro el Municipio.
En las propiedades del 1º:
Nombre: selProvincia
Origen de la fila: Select NombreProvincia from Provincias order by NombreProvincia
Nº de columnas: 1
Columna dependiente: 1
Al hacer clic ---> Procedimiento de evento ---> Me. Refresh
En las propiedades del 2º
Nombre: selMunicipio
Origen de la fila: Select NombreMunicipio from Municiiops where NompreProvincia='" & Form!selProvincia.Value & "' order by NombreMunicipio
Nº de columnas: 1
Columna dependiente: 1
Al hacer clic: procedimiento de evento ---> me. Refresh
Insertamos un cuadro de texto para teclear el evento, en sus propiedades:
Nombre: txtevento
Insertamos un botón para insertar el registro. Si lo hacemos por medio de una consulta de anexar datos, en el código de ese botón pondremos:
DoCmd.RunSql="Insert Into Resultado (NombreProvincia, NombreMunicipio, evento) Vakues ('" & Form!selProvincia.Value & "', '" & form!selMunicipio.value & "', '" & form!txtEvento.value & "'"
Es decir insertame en la tabla resultado en los campos NombreProvinlcia, NombreMunicipio, evento los valores de los cuadros combinados selProvincia, selMunicipio y el valor del cuadro de texto txtEvento.
Si lo haces con un recordset:
rs.AddNew
rs!NombreProvincia=Form!selProvincia.Value
rs!NombreMunicipio=Form!selMunicipio.Value
rs!Evento=Form!txtEvento.Value
rs.Update
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas