Formulario no accesible hasta que se pinche en EDITAR

Tengo una nueva pregunta sobre Access:
Una vez que ya tengo una base de datos hecha con Access, quisiera que a la hora de explorarla no pudiera modificar los registros salvo que pulsara en un botón llamado "EDITAR". Es decir, imagina que tengo 4 registros almacenados. Si voy pasando uno por uno, en el momento en el que escriba sobre un campo este va a cambiar su valor. Y a lo mejor eso ha sucedido por error.
Lo que quiero es que haya un botón llamado "EDITAR", que al pulsarlo permita editar un registro, y que mientras este botón no se haya pulsado, el registro no se pueda modificar, ¿es posible hacer esto?

1 Respuesta

Respuesta
1
Si que se puede, pero debes tener cuidado ya que se pueden seguir cometiendo errores, imagina que tienes un formulario llamado FRMCLIENTES con tres campos: Cod_Cliente, Cliente, Dirección y que solo quieres modificar el nombre del cliente; al darle al botón permitirás modificar cualquier dato del registro e incluso que por error se mueva a otro registro que no quiera modificar (no es raro que esto suceda ya que por norma general no tendrás pocos registros) de todas maneras te explico como hacerlo y luego te doy mi punto de vista para evitar confusiones.
En el formulario en cuestión crea un botón de comando (cuando salga el asistente, si le tienes instalado, dale a cancelar) en las propiedades del mismo, eventos Al hacer Click, entre Private Sub y End Sub escribe:
Me.Form.AllowEdits = True
En las propiedades del formulario vamos a los procedimientos del formulario Al Activar Registro, entre Private Sub y End Sub escribe:
Me.Form.AllowEdits = False
La última instrucción hace que no se pueda modificar mientras te mueves de un registro a otro, hasta que no se pulse el botón.
Una vez explicado lo anterior, te doy mi punto vista sobre el tema: ¿Por qué no mostrar una lista desplegable para seleccionar un registro en concreto, abrir el formulario dónde se encuentra y modificiar la información? Si esto te parece interesante continuamos.
Buenas,
Gracias de nuevo por la respuesta.
Ya entiendo lo que dices.
Pues si, probablemente sería mejor mostrar un listado con los registros y desde ahí seleccionar el que se quiere editar.
Lo que pasa es que pensaba que eso era más complicado, pero si me pudieras ayudar por ese camino pues fenomenal.
Un saludo
Seguimos con el mismo tema pasar como valor un dato introducido en un cuadro combinado, cuadro de lista o cuadro de texto.
Ya sabes como seleccionar el valor que tiene el cuadro del formulario:
Forms! Nombreformulario! Nombrecontrol
Ahora vamos a crear una macro que abra un formulario y se ponga en el registro que contenga el dato que hemos seleccionado en el control.
Imagina que tienes una tabla denominada TTECNICOS con dos campos:
CodTecnico (Campo Clave) y Técnico
Crea un formulario basado en esa tabla y otro sin usar el asistente. En este último coloca un combo con las siguientes propiedades:
Origen de la fila: Tabla/Consulta Dale a ... selecciona la tabla TTECNICOS y coloca los dos campos CodTecnico y Técnico, cierra con POR di que si quieres actualizar.
Número de columnas: 2
Ancho de columnas: 0cm;3cm Si se aparece una barra de desplazamiento horizontal para el nombre del técnico aumenta el valor del segundo número.
Columna dependiente: 1
Con esto le decimos que el valor que debe guardar es el de la columna 1 (CodTecnico) y que no se verá (0cm)
Coloca un botón de comando (si salta el asistente CANCELA) y en procedimientos de Eventos Al Hacer Click ... Generador de Macro
Acción
AbrirFormulario
Nombre del Formulario: Selecciona el formulario basado en la tabla
Condición WHERE: [CodTecnico]=Forms![NOMBREFORMULARIO]![NOMBRECONTROL]
Sustituye NOMBREFORMULARIO por el nombre que tenga el formulario y NOMBRECONTROL por el nombre del cuadro combinado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas