Imprimir página | Cerrar ventana

Varios usuarios a la vez en una BD en Access

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85353
Fecha de impresión: 19/Abril/2024 a las 21:53


Tema: Varios usuarios a la vez en una BD en Access
Publicado por: matasl
Asunto: Varios usuarios a la vez en una BD en Access
Fecha de publicación: 16/Junio/2020 a las 22:38

Buenas tardes.

Estoy trabajando en una base de datos (BD) a la que pueden acceder a la ves todos los usuarios que gusten; pero que tengan permiso de hacerlo.

Tengo la bitácora que me almacena el usuario,fecha y  hora de ingreso a la BD.

Una ves que ingresan deben alimentar la base de datos con información de la que ellos son responsables. Para eso, deben usar varias formularios según la información a agregar en la BD

El problema que tendo es que el llenado de cada formulario, cuenta con los atestados según último usuario en la bitacora. Situación que está erronea pues cuando el usuario "A" ingresa y empieza a llenar el formulario "X"; al ingresar el usuario "B" y empezar el llenado del formulario "R" no tentrá problema con sus atestados (por ser el último en la bitácora), el problema los tendrá el usario "A" que al iniciar el llenado del formulario "R" aparecerán los atestados del usuario "B" (por ser el último en la bitácora).

Sin éxito he intentado de muchas maneras en que se mantenga; para el llenado de los formularios el usuario ingresado.

Agradezco cualquier ayuda.


Gracias



-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.



Respuestas:
Publicado por: matasl
Fecha de publicación: 17/Junio/2020 a las 01:31
Me.UsuarioActivo.Caption = UCase(LogedUser)

Sale un erron que me indica que no se encontró el método o dato miembro


-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.


Publicado por: mounir
Fecha de publicación: 17/Junio/2020 a las 08:38
Hola!

Seguro que sacarás conclusiones leyendo este hilo:-

http://www.mvp-access.com/foro/aplicacin-funciona-vs-aplicacin-no-funciona_topic85343.html" rel="nofollow - http://www.mvp-access.com/foro/aplicacin-funciona-vs-aplicacin-no-funciona_topic85343.html

-------------
Un Saludo.


Publicado por: matasl
Fecha de publicación: 17/Junio/2020 a las 20:32
Agradezco tu aporte, y te comento que luego de leer todo el hilo concluyo que ese no es mi caso y proceso a detallarlo.

El el servidor de la escuela está la base de datos donde los alumnos deben igresar (cada uno tiene su Usuario y Clave) desde sus casas. Ellos deben llenar mediante un formulario por curso, la tarea delegada (para cada curso hay un formulario en particular donde deben llenar el cuestionario según la tarea dejada).

Ejemplo:
Cursos 
Ciencias 
Tareas
1 (Formulario 1)
2 (Formulario 2)
3 (Formulario 3)
Historia
Tareas
1 (Formulario 1)
2 (Formulario 2)
3 (Formulario 3)
...

Lo que buscamos es que (sin importar cuantos ingresen a la misma ves a la base de datos) al ingresar a determinado curso (Ciencias, Historia,...) el estudiante no tenga que anotar su nombre y grupo (sección), si no que aparezca en forma automática (luego de anotar correctamente su Usuario y Clave); lo mismo en cada formulario.

Bendiciones 




-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.


Publicado por: xavi
Fecha de publicación: 17/Junio/2020 a las 23:29

Creo que el problema es que utilizas el último registro de la bitácora para asociarlo al usuario activo, cosa que es falsa.

Cuando el usuario de loguea en el sistema, debes almacenar en una variable publica el usuario y utilizarla en todos los formularios para filtrar/acotar los datos.

No creo que tenga nada que ver con el hecho de que los usuarios utilicen una única copia o distintas del FrontEnd.


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: matasl
Fecha de publicación: 17/Junio/2020 a las 23:52
Xavi, gracias por tu comentario.

De hecho eso fue algo que hice desde el inicio, pero no me dio resultado


-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.


Publicado por: xavi
Fecha de publicación: 18/Junio/2020 a las 01:36
Pues a mi me funciona. Algo no haces igual (o puede que si que afecte que los usuarios abran la misma base de datos)

-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: matasl
Fecha de publicación: 18/Junio/2020 a las 01:57
Estoy revisando, ya que también existe la posibilidad de que lo esté haciendo mal.

Lo que he realizado es lo siguiente:

Tengo en un módulo a parte 

Option Compare Database
Option Explicit
Public LogedUser As String

De las siguiente manera intento llamarlo desde cualquier formulario, pero no me resulta.
He colocado:

 "Alumno" en el nombre del txtBox


=DBúsq("Alumno";"Alumnos";"Alumno = '" & Me.logedUser & "'") en el  Origen de Control

Pero me da el siguiente error:

#¿Nombre? 

   



-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.


Publicado por: xavi
Fecha de publicación: 18/Junio/2020 a las 10:25
Se supone que, en el momento de guardar el registro en la bitácora es cuando almacenas el usuario en LogedUser.

En cada formulario añades un cuadro de texto (txtAlumno) para mostrar el valor de LogedUser.

El problema es que no se puede asociar a un cuadro de texto el valor de una variable... de forma directa. 

O lo haces por VBA en el evento Load (por ejemplo) del formulario:

Me!txtAlumno = LogedUser

O creas una función DameLogedUser que devuelva el valor de la variable (en el módulo dónde has definido la variable Public

Function DameLogedUser() As String
  DameLogedUser = LogedUser
End Function

Y en cada formulario, directamente en la hoja de propiedades y en la propiedad Origen del control, llamas a la función: 

=DameLogedUser()

Con cualquiera de las 2 opciones deberías tener el usuario actual en ese cuadro de texto.

Un saludo








-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: matasl
Fecha de publicación: 18/Junio/2020 a las 15:58
Xavi, buenos días.

Entiendo y agradezco tu explicación. 

Ya veo por donde está mi error (LogedUser no funciona directamente en txtbox), muy amable por hacermelo saber. 

Procederé a seguir tus recomendaciones. 


-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.


Publicado por: matasl
Fecha de publicación: 18/Junio/2020 a las 21:34
Xavi, hemos implementado tus recomendaciones y han sido todo un éxito. Muchas gracias

Agradecemos tambien a Mounir por su colaboración.


Doy por resuelta y cerrada la consulta.




-------------
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.



Imprimir página | Cerrar ventana