Access - Bloquear Eliminar Registro desde Tabla

 
Vista:
Imágen de perfil de Osen
Val: 45
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Bloquear Eliminar Registro desde Tabla

Publicado por Osen (42 intervenciones) el 03/08/2017 03:32:01
Apreciados colaboradores de Access 2010

Inexplicablemente se me borran registros, supongo que desde la tabla, porque desde formularios no es, o no sé porqué pasa ni como pasa

Hay una forma de bloquear con clave la eliminación de registros,,,?

Gracias por su cooperación
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Capatech.CL
Val: 295
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Bloquear Eliminar Registro desde Tabla

Publicado por Capatech.CL (121 intervenciones) el 03/08/2017 14:27:56
Hola buenos dias estimado Osen, la verdad es que solo hay dos maneras de evitar la eliminación de datos desde un formulario o desde la misma tabla claro desde una consulta también pero estas dos ultimas solo si accedes directamente a ellas, te recomiendo que si estas manipulando datos desde un formulario hagas lo siguiente. Supongamos que tienes un botón llamado Cmdeliminar en tu formulario para que se pueda usar ese botón al código eliminar creale una condición ejemplo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim E as string
 
E = msgbox(" realmente desea eliminar el registro seleccionado?","vbOkCancel","Pregunta de Seguridad")
 
If E =vbOk then
 
Docmd.runsql "delete idcliente from clientes where idcliente = txtidcliente"
 
Msgbox"Se ha eliminado el registro selecciondo",vbinformation,"Registro Eliminado"
 
Else
 
Docmd.cancelEvent
 
Msgbox"Operación Cancelada",vbexclamation,"Decidió no hacer Nada"
 
End if
 
End Sub
Ese código tienes que adaptarlo a tu botón eliminar con los datos de tu tabla y formulario donde idoperacion es el nombre del campo en la tu tabla y txtidoperacion e el nombre que debiste asignarle al campo en el formulario, si no entiendes el procedimiento te pido que me pases tu Archivo para ayudarte con eso.

Saludos desde Chile..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Osen
Val: 45
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Bloquear Eliminar Registro desde Tabla

Publicado por Osen (42 intervenciones) el 03/08/2017 15:22:54
Gracias Capatech.
Intentemos primero esto a ver si entendí según el nombre de la tabla y de los campos.

Nombre de la tabla: OrdenFabricacion
Nombre del campo (Autonumérico): NumeroOrdenFabricacion
Texto del Campo: Número Orden


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub CmdEliminar_Click()
Dim E As String
 
E = MsgBox(" realmente desea eliminar el registro seleccionado?", "vbOkCancel", "Pregunta de Seguridad")
 
If E = vbOK Then
 
DoCmd.RunSQL "delete NumeroOrdenFabric from OrdenFabricacion where NumeroOrdenFabric = txtNúmero Orden"
 
MsgBox "Se ha eliminado el registro seleccionado", vbInformation, "Registro Eliminado"
 
Else
 
DoCmd.CancelEvent
 
MsgBox "Operación Cancelada", vbExclamation, "Decidió no hacer Nada"
 
End If
 
End Sub



Al botón, durante su creación le asigné la acción. Operaciones con Registro "Eliminar Registro"

Dice " La acción o comando Eliminar Registro no está disponible ahora"
Voy a la tabla y me permite Eliminar Registro.

Otra acción adicional, sería bloquear la columna de navegación que está a la izquierda.


Explico mejor; El archivo en cuestión lo manipulan 2 personas mas, y están borrados como 20 registros, con la consecuente pérdida de datos. Pretendo blindar la eliminación de registros

Gracias desde Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloquear Eliminar Registro desde Tabla

Publicado por Anonimo (1956 intervenciones) el 03/08/2017 20:36:39
En la tabla estas eliminando AL REGISTRO
Mediante esa SQL se esta intentando eliminar un campo de la tabla (y eso implicara modificar su diseño)

La respuesta de Access es ambigua porque no se espera ese tipo de acción y con la tabla en uso no se puede editar el diseño.

De cualquier forma, lo que han propuesto es una confirmación previa al borrado, no impide la 'perdida de datos' si se hace directamente en la tabla o si se confirma la acción en el formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Osen
Val: 45
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Bloquear Eliminar Registro desde Tabla

Publicado por Osen (42 intervenciones) el 03/08/2017 20:47:03
Gracias Anonimo.

¿Porqué trabajando en el formulario, imprevistamente se "esfuma un registro", Hay alguna combinación de teclas que elimine registros...?

No vaya a ser, que la torpeza al digitar las teclas, haga la combinación mortal.

¿Hay una forma de ocultar la columna de navegación a la izquierda que para hacerla visible sea una clave autorizada...?

Gracias nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloquear Eliminar Registro desde Tabla

Publicado por Anonimo (1956 intervenciones) el 03/08/2017 21:04:38
No se puede extraer ninguna conclusión si se desconoce la aplicación.

Los registros no desaparecen solos, o hay un error de programación o (en un entorno compartido) se solapan los usuarios, dejaremos a un lado (de momento) el que un usuario se equivoque en un dato y borrando y borrando .....

Un registro solo 'existe' cuando esta en una tabla almacenado, si se produce un error al insertarlo (y por estética se han anulado los mensajes de Access) pasara desapercibida esa perdida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhonattan
Val: 295
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Bloquear Eliminar Registro desde Tabla

Publicado por Jhonattan (121 intervenciones) el 04/08/2017 20:57:58
Osen lo que pasa es que tienes que modificar el diseño en la estructura de tu base de datos, porque por lo que veo le asignaste una macro o creaste el botón directamente con el asistente de esa forma se te hará mas complicado si usas la sentencia Sql que te pase puedes hacer más fácil la operación..

Ejemplo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub CmdEliminar_Click()
 
Dim E As String
 
E = MsgBox(" realmente desea eliminar el registro seleccionado?", "vbOkCancel", "Pregunta de Seguridad")
 
If E = vbOK Then
 
DoCmd.RunSQL "delete NumeroOrdenFabric from OrdenFabricacion where NumeroOrdenFabric = txtNúmeroOrden"
 
MsgBox "Se ha eliminado el registro seleccionado", vbInformation, "Registro Eliminado"
 
Else
 
DoCmd.CancelEvent
 
MsgBox "Operación Cancelada", vbExclamation, "Decidió no hacer Nada"
 
End If
 
End Sub

este seria tu ejemplo solo que al campo del formulario colocale un nombre seguido no coloques nombres con espacios que sea así txtnuorden por ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloquear Eliminar Registro desde Tabla

Publicado por Asun (1 intervención) el 03/01/2019 11:22:06
hay un atajo de teclado "ctrl-" que elimina el registro activo. estoy buscando como desactivarlo..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Bloquear Eliminar Registro desde Tabla

Publicado por Anonimo (1956 intervenciones) el 03/01/2019 23:02:21
Crea una macro de nombre 'AUTOKEYS'

En esa macro crea una que utilice esas teclas y que no ejecute ninguna acción, eso evitara esa acción en cualquier otra parte del programa

Si se desea que solo se aplique en un formulario (u objeto que la acepte), se puede utilizar el evento del objeto 'al bajar una tecla' y en ese evento … lo mismo, se filtra por se subconjunto /que este pulsada la tecla control (ver el uso de Shift) y que se pulse la tecla menos (estará en la variable KeyCode).

Es imprescindible que se active (en el formulario u objeto) la Vista Previa para que pueda capturar las pulsaciones sobre sus objetos si se utiliza este segundo método.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar