Ayuda en Access

Buenos días,
Tengo unos problemillas en access 2007 y por mucho que busco información no doy con las respuestas.
En realidad son varias las cosas en las que estoy bloqueado, creo que son cosas sencillas pero a veces, son las que más quebraderos de cabeza dan.
Lo que necesito es:
Tengo un formulario de inicio al que quiero ponerle un contador de 2000ms, que cuando pase ese tiempo se cierre y se abra otro formulario.
Lo tengo tal que así: se supone que debería de funcionar pero no carga formulario que quiero. Acceso = formulario a cargar.
Private Sub Form_Load()
Me.TimerInterval = 2000
End Sub
Private Sub Form_Timer()
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm Acceso, acNormal
End Sub
Otra de las cosas que quiero hacer es un login de usuario con clave mediante un formulario.
Tengo el formulario hecho y cuando selecciono, del cuadro combinado, el nombre del trabajador y le doy al botón de iniciar, carga el siguiente formulario, pero quisiera que lo haga pidiendo una clave.
Y el último problema que tengo, que he creado un botón en un formulario, éste botón es para que abra un informe en el cuál he hecho una factura. Y aparece este mensaje:
El motor de la base de datos no pudo bloquear la tabla de "cursos" porque actualmente la esta utilizando otro usuario o proceso.
La tabla de cursos, es una tabla que he creado yo, para unos cursos de formación que damos.
Aún no se está usando la base de datos, porque la estoy preparando con lo cuál no se el porque sale este mensaje.
Espero que no sea muy extenso el post, pero llevo 1 mes con estos problemillas y por ahora nadie ha sabido ayudarme.
Espero haberme explicado bien.
Saludos desde España.
Respuesta
1
Lo primero no encuentro ningún problema debería funcionar
lo segundo:
Suponiendo que tienes en tu cuadro combinado, que tiene n el código y el nombre del usuario, adiciona una colmna oculta con la contraseña de ese usuario; a tu formulario podrías adicionar un cuadro de texto independiente en que puedas ingresar la clave (con una mascara de entrada tipo contraseña, seri lo mejor)
luego deberia haber un boton que llame al siguiente formulario, en este podrias realizar la verificacion de la contraseña, antes de abrir el formlario, mas o menos asi
if Text1= CuadroCombinadoUsuarios.Column(2)= then
   Docmd.Open..........
else
   Msgbox "error...........!"
Endif
Para el otro problema intenta compactar y reparar la base de datos...!
Hola de nuevo, ante todo gracias por responder.
El punto número 1, intentaré hacer de nuevo el formulario no vaya ser que haya algo que se me escapa.
El punto 3, he compactado y reparado la base de datos y no se arregla el problema.
Para completar esta operación, una tabla que actualmente la está utilizando otro usuario debe estar bloqueada. Espere a que el otro usuario termine de trabajar con la tabla e intente de nuevo la operación.
No entiendo el porque sale el error si no tengo nada abierto y nadie esta usando la DB.
El punto 2 password:
Tengo el cuadro combinado en el que se puede seleccionar los usuarios, he introducido en la tabla de usuarios, una columna de password con el pass de cada usuario y ocultándola.
Tengo un cuadro independiente, con la mascara de passsword activada, pero debo de relacionarla con la columna password de la tabla usuarios ¿no?
En cuanto al código:
if Text1= CuadroCombinadoUsuarios.Column(2)= then
   Docmd.Open..........
else
   Msgbox "error...........!"
Endif
Explicame un poco como tengo que ponerlo si tengo:
Tabla Empleados
Columna de clave: Password número de columna 19
Nombre de cuadro combinado con usuarios desplegable: cboCurrentEmployee
¿Sería así?
if Text1= cboCurrentEmployee.Column(19)= then
   Docmd.Open Empresas
else
   Msgbox "error ha introducido una clave errónea, por favor introduzca una correcta!"
Endif
Gracias.
Debo de relacionarla con la columna password de la tabla usuarios
NO, debe ser independiente
El numero de columna no depende del lugar que ocupe en la tabla, sino en la consulta del cuadro combinado
si por ejemplo en el origen de fila del cuadro combinado tienes:
Select id_empleado, nombre_empleado, pass from tu_tabla_empleados
el numero de la columna sera 2 ya que se inicia en cero
Ok, perfecto ya lo entendí.
He configurado el cuadro combinado y el texto independiente de password como me has comentado. En el evento he cambiado "cboCurrentEmployee" por la consulta "Empleados ampliados" de la tabla Empleados.
Private Sub Form_Load()
if Text1= Empleadosampliados.Column(2)= then
   DoCmd.Open Empresas
Else
   MsgBox "error ha introducido una clave errónea, por favor introduzca una correcta!"
End If
End Sub
Me aparece un error de compilación: Se esperaba expresión.
Tampoco se abre el formulario que yo quiero que se abra.
Este es un paso que quiero hacer, para después, darle privilegios a cada usuario y que sólo entren en la parte de la DB que quiero. Bloqueando todo lo demás y que al meter usuario y pass les lleve a cada uno, a su formulario específicamente creado para ellos.
Complicado para mi, porque tengo pocos conocimientos sobre access, hace 2 meses que comencé a utilizarlo.
Tengo que leer muy y mucho VBA pero no se por donde empezar y lo que he encontrado es muy técnico, me cuesta entender las rutas de ejecución de los eventos. Si me puedes recomendar algo te lo agradecería.
Saludos y gracias.
Copia de lo que escribí anteriormente
... luego debería haber un botón que llame al siguiente formulario, en este podrías realizar la verificación de la contraseña, antes de abrir el formulario...
Hay un error en tu procedimiento
if Text1= Empleadosampliados.Column(2)****=**** then ' sobre un igual
tu procedimiento debe estar en un Boton de comado, al hhacer click, no en el evento Load del formulario, porque al cargar el formulario aun no se elige al usuario..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas