En un formulario que aparezca el nombre de quien esta haciendo la captura deforma automática

Solicito de su apoyo

Estoy haciendo un formulario de captura en access

Les explico detalladamente ya tengo mis tablas relacionadas, la cual incluye un control de accesos dependiendo el tipo de perfil es como el usuario accederá a los diferentes formularios

1 lo que requiero es que cuando el analista acceda a la pantalla de captura registre su nombre en la tabla principal pero de forma automática es decir si analista accede con su usuario y contraseña y al entrar al formulario de captura e inicie la captura al momento de guardar el registro se guarde su numero de usuario

Les muestro la pantalla de la tabla principal y donde quedaría el usuario y el formulario

En la columna que dice cve_personal es donde quedaría grabado la cve de acceso de ese usuario

1 respuesta

Respuesta
1

Dependiendo de cómo registres el usuario que entra a la BD tienes múltiples formas de hacerlo. Te explico algunas y a ver si se adapta a lo que tienes:

1º/ Tienes una tabla (TAccesos) en la que guardas todos los accesos a la BD con la fecha y hora. Puedes poner, en el evento "Al activar registro" de tu formulario un código como este (con lso nombres de tus campos y tablas, obviamente):

Me.cve_personal=DLast("cve_personal";"TAccesos")

2º/ Tienes una tabla (TAcceso) en la que únicamente guardas el usuario activo (es decir, la tabla siempre tiene un registro):

Me.cve_personal=DLookUp("cve_personal";"TAccesos")

3º/ Usas un "Formulario chivato", como el que explica Neckkito en su web: puedes coger el valor de ese formulario directamente:

Me.cve_personal=Forms("FChivato").txtUser

4º/ No guardas el usuario que accede en ninguna tabla ni en un formulario oculto. En este caso debes declarar una variable pública en un módulo (por ejemplo Public elUsuario as String/Integer... según el dato que manejes), en tu formulario de login le asignas el usuario (por ejemplo en un botón "Aceptar/Entrar" con: elUsuario=Me.txtUsuario) y para terminar, en el evento "al activar el registro" de tu formulario, recuperas el valor de la variable y se lo pasas al cuadro de texto: Me.cve_personal=elUsuario

Como ves hay muchas opciones (y alguna más que no te cuento), pero sin saber el sistema de acceso que tienes no puedo afinar más. Pero seguro que con alguna de estas opciones consigues hacerlo. Y si no, por aquí me tienes.

Un saludo.


Ok te explico

Tengo mis tablas una que indica el tipo de perfil otra donde se registran los usuarios con sus diferentes tipos de acceso el usuario el cual definí es ap00001, la tabla donde se da el tipo de nivel en cada formulario es decir si puede acceder, editar, insertar,eliminar, guardar etc

En cuanto a los formularios tengo el de acceso

El cual al momento de ingresar el login en efecto recoge la variable y al abrir el formulario inicio me muestra el nombre del usuario y el perfil si es administrador o usuario senillo

Hasta ahí no tengo ningún problema

Lo que requiero es una vez dentro del sistema y al ingresar al formulario de captura el nombre se almacene en la tabla general donde se almacenaran los registros capturados pero que en el formulario el campo no este disponible y solo al guardar el registro ya aparaezca la clave en la tabla

Y también que si se quiere editar el registro muestre el nombre del usuario quien capturo ese registro y los cambios realizados se almacenen pero conservando el registro originial ya sea uno o varios cambios los que se realicen se almacene dicha información

Vale, estás pidiendo muchas cosas distintas...

1º/ Si sabes pasar del formulario de login al de inicio el usuario que entra, hacerlo al de captura es lo mismo (imagino que desde el formulario de inicio abres el de captura).

De todas formas, te recomendaría le echases un vistazo al ejemplo "Formulario chivato" de Neckkito, quizás te facilite la tarea.

2º/ Que el campo del usuario no esté disponible lo tienes fácil, solo has de ponerle su propiedad Visible en No, dentro de las propiedades del cuadro de texto. Cualquiera de las formas que te comentaba antes te funcionará igual con el cuadro visible o invisible.

3º/ Obviamente en la tabla necesitas el campo para guardar el usuario. Si solo lo quieres rellenar en el momento de guardar, el código lo debes poner, en vez de en el evento "Al activar registro" como te sugería antes, en el código que tengas para guardar (imagino tendrás un botón para guardar), o en el evento "antes de actualizar" del formulario (o otro similar, como "antes de insertar"...)

4º/ Lo que no acabo de ver es lo de los cambios, pues tal como lo planteas, implicaría duplicar el registro cada vez que se hace una modificación... Como alternativa, te recomiendo el ejemplo "control de cambios", también de Neckkito.

¡Gracias!  Sveinbjorn El Rojo  me fue de gran ayuda 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas