Código VBA para borrar un formulario desde otro formulario.

En una BD se hace un único registro desde un formulario llamado "Registro" y luego se abriría un formulario llamado "Inicio"

¿Cómo hago para eliminar el formulario "Registro" de la BD desde el formulario "Inicio".

1 respuesta

Respuesta
1

Si quieres eliminarlo definitivamente, allá tú, basta con que en cualquier evento del formulario Inicio pongas

DoCmd. DeleteObject acForm, "registro"

Pero quizás, solo quieras borrar el(los) registro(s) de la tabla origen del formulario Registro, entonces deberías poner

docmd.setwarnings false

Docmd. Runsql"delete * from Registros"

Siendo Registros la tabla origen del formulario Registros

Te lo digo, porque así ni tienes que estar construyendo una y otra vez el formulario.

Muchas Gracias por su respuesta. 

Lo que necesito es que se ejecute un proceso de registro una sola vez al instalar la BD en un cliente; ese cliente ya no necesita el formulario de registro, para evitar que me copie la BD.

Yo conservo el BD original con el formulario de Registro para nuevas instalaciones.

Investigando en Internet encontré el comando DoCmd.DeleteObject acForm, "Registro" pero al ejecutar, me dice que no se puede eliminar el objeto "Registro" mientras esté en uso. Ese comando lo estoy ejecutando desde el formulario "Inicio" y el formulario "Registro" ya lo he cerrado usando DoCmd.Close acForm "Registro"

Si el formulario Registro estuviera abierto y además has abierto el formulario Inicio, basta con poner el código así

Docmd. Close acform,"registro"

DoCmd. DeleteObject acForm, "Registro"

Y te garantizo que funciona.

Por otro lado si no quieres que te copie la base de datos puedes poner Inicio como el formulario de inicio y en sus propiedades-eventos-al cargar

If CurrentProject.Path <> "c:\cabarcos\amigo" Then
MsgBox "Cabrito, me quieres piratear la base"
DoCmd.Quit
End If

Siendo C:\,,,,, la ruta a la base de tu ordenador.

Y aprovechando que el Ebro pasa por Zaragoza, en Archivo-Opciones-Base de datos actual, desactiva la casilla Mostrar panel de navegación y las casillas mostrar Menús... que están justo debajo.

Y lo que es fundamental, desactiva la tela SHIFT, que para no escribir más lo puedes encontrar en este enlace

http://siliconproject.com.ar/neckkito/index.php/algunas-cosillas-teoricas/cosas-que-es-bueno-saber/deshabilitar-tecla-shift 

1. Gracias por su ayuda.

2. Ya probé lo que dijiste pero me sale el mismo error de que no se puede borrar el formulario mientras está abierto.

3. Si instalo el código If CurrentProject.Path <> "c:\cabarcos\amigo" Then en otro equipo y en la misma carpeta, va a funcionar.

A lo segundo, quizá sea mejor que me pongas un mensaje a [email protected] y te mando un ejemplo. Porque como te dije te garantizo que funciona. Si lo haces, en el Asunto del mensaje pon tu alias Rubén Valencia, ya que si no sé quien me escribe no abro los mensajes.

Con respecto a lo segundo te diré, que en tu ordenador la ruta a la aplicación es, por ejemplo

C:\users\rubén|documents\.... que es lo que debes poner en el código.

Cuando se la "dejes" a otra persona, la instalará en su ordenador y su ruta será, por ejemplo, c:\javier\.... por lo tanto no coincidirá con la que tiene el código y la base se cerrara, e incluso puedes hacer que se borren tablas, consultas, etc

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas