Access Usuario y contraseña. Me da error y no se donde
He copiado esta consulta respondida por Julián González al que aprovecho para agradecerle la ayuda (y al resto también) pero me da un error de sintaxis. No sé si tendrá algo que ver pero la tabla está vinculada de SQL SERVER Lo he hecho tal cual indicas.
Un tabla llamada dbo_PLATAFORMA_SUBVENCIONES y tres campos, uno llamado Usuario, otro llamado Contraseña y un tercero llamado Perfil. Le he creado un nuevo formulario llamado FormInicio con dos cuadros de texto que he llamado igual Usuario y Contraseña
Private Sub Comando13_Click()
If nz(dcount("*","dbo.PLATAFORMA_SUBVENCIONES_Usuarios_tbl","Usuario='" & me.Usuario & "' and contraseña='" & me.Contraseña& "'"))=0
Msgbox "Error acceso",
else
DoCmd.OpenForm "FormPLATAFORMA_SUBVENCIONES"
End if
End Sub
Tienes que crear una tabla, a la que para el ejemplo, llamaremos Usuarios, con, al menos, Usuario y Contraseña, donde guardarás precisamente eso, los usuarios y sus contraseñas de acceso. Luego creas un formulario de inicio(el que se muestre al abrir la base), con dos cuadros de texto, que por comodidad vamos a llamarles igual Usuario y Contraseña. Añádele un botón(no sería necesario, pero prefiero que empieces con él). El el evento Al hacer clic del botón crea un procedimiento de evento y entre Private Sub y End Sub pon
If nz(dcount("*","usuarios","usuario='" & me.usuario & "' and contraseña='" & me.contraseña& "'"))=0 then
Msgbox"No has acertado", vbokonly+vbcritical,"Otra vez será"
Y aquí lo que quieres que haga si no acierta, si cierra la base, si le das más oportunidades, si le lanzas un insulto,...
else
docmd.... Lo que quieres que haga si acierta.
End if
Es decir, cuando pulsas el botón, comprueba si en la tabla Usuarios existen ese usuario con esa contraseña, y que si no acierta con el usuario y la contraseña, haz esto y si acierta haz lo otro.
Combínalo con pulsar Archivo-Opciones-Base de datos actual y desmarca la casilla Mostrar Panel de navegación. Y en esa misma "ventana", en donde pone Mostrar formulario, en el combinado eliges ese formulario, que será el que se mostrará cuando abras la base.