Access - Tabla solo lectura, No puedo ya manipular form

   
Vista:

Tabla solo lectura, No puedo ya manipular form

Publicado por cpjcarlos (4 intervenciones) el 14/01/2013 18:58:24
Buen día. Reparti a algunos compañeros de oficina una pequeña aplicación que esta en RED para recolectar datos en una tabla mediante un formulario

pero Necesito que a partir de mañana ya no puedan editar, solo ver lo que han metido (solo lectura) pues estaré en un proceso de revisión

existe alguna otra forma de lograrlo sin tener que cambiar cada archivo que contiene la aplicación en cada pc .

Podria funcionar si desde exploraror de windows en propiedades de la tabla marco la casilla solo lectura?

Gracias
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

Tabla solo lectura, No puedo ya manipular form

Publicado por 2pl (461 intervenciones) el 14/01/2013 22:18:52
Sigue este ejemplo que funciona correctamente
Tengo una tabla Usuarios con cuatro campos usuario,clave,opcion,modifica

Usuario los que se quieran

Clave la que sea para cada usuario
Opcion cada una de las opciones que quiera controlar
Modifica si esta marcado autorizo poder modificar y si no, solo visualizar

Una función para autenticar a los usuarios

Public Function AUTORIZADO(Usuario, CLAVE, Opcion) As String
Set GP2PLdb = DBEngine.Workspaces(0).Databases(0)
Set rs = GP2PLdb.OpenRecordset("Usuarios")
AUTORIZADO = False
rs.MoveFirst
Do While Not rs.EOF
If rs("Usuario") = Usuario And rs("Clave") = CLAVE And rs("Opcion") = Opcion Then
AUTORIZADO = True
PermisoModificar = rs("Modifica") ' Guardo esa situación en esta variable para controlar que pueda modificar o no
Exit Function
End If
rs.MoveNext
Loop
rs.Close
End Function
Luego hago una llamada a esta función desde donde deseo controlar, en este caso solo calculan la nomian los que estan autorizados.

Private Sub lblCalculoNomina_Click()
Opcion = "Cálculo de nómina"
If AUTORIZADO(Usuario, CLAVE, Opcion) Then
DoCmd.OpenForm "CalculoNomina"
Else
MensajeMsgbox = MsgBox("USUARIO NO AUTORIZADO", vbCritical, "")
End If
End Sub

En el evento al abrir del formulario
If PermisoModificar=true then
Me.AllowEdits = true
else
Me.AllowEdits = False
endif

PD: Tengo dos BD ,una para las tablas y otra para los demas objetos y s esta ultima le vinculo las tablas.
PermisoModificar es una variable Publica
Para que no puedan modificar desmarcaria a todos los usuarios el campo "modificar" y cuando lo cree conveniente vuelvo a marcarlos.
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

Tabla solo lectura, No puedo ya manipular form

Publicado por deneg_nhj (349 intervenciones) el 14/01/2013 22:25:42
El marcar como solo lectura "a la BD", no permitirá realizar modificaciones, el detalle es que probablemente te de mensajes de errores en tus formularios, que en el peor de los casos no funcionen.

Saludos!
www.sgh.com.mx
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 Norberto

Tabla solo lectura, No puedo ya manipular form

Publicado por Norberto (432 intervenciones) el 16/01/2013 13:20:47
Hola.

Si como creo tienes la tabla en una bdd y el formulario en otra distinta repartida por toda la ofi prueba lo siguiente:

Abre la tabla en Vista Diseño y dale a Ver->Propiedades.
En regla de validación pon, p.e. 5=4
En texto de validación pon La tabla es de sólo lectura por trabajos de revisión
Guarda la tabla. Te dará errores ya que ningún registro cumple la regla de validación pero no afecta a lo que ya está introducido. Cuando un usuario quiera hacer cualquier cambio, se producirá el error de validación y le mostrará el mensaje.

Espero que te sirva.
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