Formulario sólo de visualización y botón para edición

Tengo un formulario de Access que me gustaría que de base estuviera en modo visualización, o sea, que no se pudiera modificar la información del formulario pero que a su vez, existiera un botón de edición que sirviera para convertir el formulario al formato de edición y poder añadir casos o editar la información.

¿Es posible esto?

2 respuestas

Respuesta
2

Si le sacas las propiedades a tu formulario y en la pestaña "Datos" le pones: "Permitir Editar" en NO, ya lo tienes en "modo visualización" (también le puedes poner en No "permitir agregar" y "permitir eliminaciones").

En el evento "al hacer click" del botón, para poder editar, has de ponerle esta línea de código:

Me.AllowEdits=True  'Para permitir editar el registro

Además, si lo necesitas:

Me.AllowAdditions=True  'Para permitir añadir

Me.AllowDeletions=True  'Para permitir eliminar

Ten en cuenta que necesitarás otro botón para volver a bloquear el formulario, porque mientras no lo cierres, podrás hacer modificaciones. El código sería el mismo, pero con False en vez de True.

Una forma más "profesional", pero que requiere más código, sería usar un botón al que le cambies la leyenda y te haga las dos funciones. Sería así:

1º/ En la propiedad título de tu Botón le pones "Editar" (sin las comillas)

2º/ En el evento "al hacer click" del botón le pones:

Const miTitulo1 as String="Editar"
Const miTitulo2 as String="Bloquear"
If Me.NombreBoton.Caption=miTitulo1 Then
    Me.AllowEdits=True
    Me.NombreBoton.Caption=miTitulo2
Else
    Me.AllowEdits=False
    Me.NombreBoton.Caption=miTitulo1
End If

Saludos!


Visítanos: http://nksvaccessolutions.com/ 

Gracias por la respuesta! He usado la primera opción que me parecía más simple, el problema es que ahora los buscadores también los tengo bloqueados en "modo visualización" y la idea sería poder usarlos jajaj, qué debería hacer?

Esas cosas hay que decirlas, que no somos adivinos... jejeje

Olvídate de lo del me. AllowEdits y lo de poner la propiedad "permitir editar" del formulario en NO, y tendrás que hacerlo control a control:

1º/ En cada cuadro de texto, combinado... en los que puedas escribir/seleccionar datos, le pones la propiedad Bloqueado en Sí

2º/ En el código del botón, para cada uno de ellos tendrás que poner:

Me.NombreControl.Locked= False  'Así lo desbloqueas, y con True lo bloqueas

Vale, ya lo he hecho pero en algunas variables me ponía value en vez de las opciones donde sale "locked", y aunque he puesto locked=false, cuando he apretado el botón que tenía que permitir la edición, me ha dicho error por culpa de esas variables... a qué se puede deber?

Cuando dices "variables" entiendo que quieres decir "control", porque son dos cosas distintas...

Todos los controles en los que puedes modificar/añadir registros a la tabla tienen la propiedad Locked, por lo que entiendo que se la intentas aplicar a algún control (por ejemplo una etiqueta o un botón) que no la tiene y ahí el error.

¡Gracias! 

Eran algunas variables que bueno, simplemente las he quitado del código y ya, con que los que tengan que usar el archivo vean que no se puede editar no creo que descubran que dos o tres sí que están desbloqueadas jajajaja

Muchas gracias por tu ayuda!

Respuesta
2

En las propiedades del formulario-Eventos-Al abrir crea un procedimiento de evento y entre Private Sub y End Sub pon

Form.allowedits=false

Y en el botón , en el evento al hacer clic lo mismo pero

form.allowedits=true

Form.AllowAdditions = True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas