
Multiusuario en un formulario
Publicado por Tomas (7 intervenciones) el 07/10/2014 21:13:03
Buenos Dias
Estoy pidiendo ayuda en algo que no se como resolver
Estoy creando una base de datos con Access 2013 posteriormente lo estaba haciendo con Access2007 en fin.
Mi base de datos esta Dividida para que varios usuarios la puedan usar simultaneamente.
El unico problema es que cuando dos usuarios entran al mismo formulario
Por ejemplo

Quisiera saber si existe la manera de que pueda generarme un registro para cada usuario que ingrese a dicho formulario, que estos dos por pura casualidad hayan entrado al mismo tiempo en distintas maquinas al mismo formulario.
Quisiera que hiciera esto.
Computadora 1 Formulario->Registro-> Campo_No.Reg = 1
Computadora 2 Formulario->Registro-> Campo_No.Reg = 2
Se me ocurre una manera que pudiera ser por medio de un login que al momento de que entre el usuario se genere el registro... pero el problema seria que si este usuario no hace ningun registro.. se quedaria con el numero y quedaria en blanco...
Aqui tengo el codigo con lo que hice el login.

Este es el codigo del boton
Dim NumIntentos As Integer
Private Sub CmdAcceder_Click()
Dim auxContrasena As String
'Comprobamos que hay datos en las cajas de texto
If Nz(Me.TxtUsuario.Value, "") = "" Then
MsgBox "Seleccione un nombre de usuario de la lista para acceder", vbInformation, "ATENCION"
Me.TxtUsuario.SetFocus
ElseIf Nz(Me.TxtContrasena.Value, "") = "" Then
MsgBox "Introduzca la contrasena del usuario seleccionado", vbInformation, "ATENCION"
Me.TxtContrasena.SetFocus
Else
If Nz(DLookup("Contrasena", "Empleados", "IdEmpleado=" & Me![TxtUsuario]), "") <> "" Then
auxContrasena = DLookup("Contrasena", "Empleados", "IdEmpleado=" & Me![TxtUsuario])
End If
If auxContrasena <> Me.TxtContrasena.Value Then
If NumIntentos > 1 Then
NumIntentos = NumIntentos - 1
MsgBox "La contraseña introducida es incorrecta" & vbCrLf & _
"Le quedan " & NumIntentos & " intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "INTRODUCCIÓN INCORRECTA"
Me.TxtContrasena.Value = ""
Me.TxtContrasena.SetFocus
Else
MsgBox "Ha superado el numero de intentos", vbCritical, "ADIOS..."
DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
End If
Else
If DLookup("IdTipoAcceso", "Empleados", "IdEmpleado=" & Me![TxtUsuario]) = 1 Then
'**entrada como administrador
MsgBox "Ha entrado el administrador", vbInformation, "BIENVENIDO ADMINISTRADOR"
'Call MuestraTodasTablas
DoCmd.OpenForm "frmmenu"
DoCmd.Close acForm, Me.Name
Else
MsgBox "Ha entrado un usuario", vbInformation, "BIENVENIDO"
'Call OcultaTodasTablas
DoCmd.OpenForm "FormRequisicion"
DoCmd.Close acForm, Me.Name
End If
End If
End If
End Sub
Necesito ayuda no se como hacerlo =//
De antemano
Gracias..!!
Estoy pidiendo ayuda en algo que no se como resolver
Estoy creando una base de datos con Access 2013 posteriormente lo estaba haciendo con Access2007 en fin.
Mi base de datos esta Dividida para que varios usuarios la puedan usar simultaneamente.
El unico problema es que cuando dos usuarios entran al mismo formulario
Por ejemplo

Quisiera saber si existe la manera de que pueda generarme un registro para cada usuario que ingrese a dicho formulario, que estos dos por pura casualidad hayan entrado al mismo tiempo en distintas maquinas al mismo formulario.
Quisiera que hiciera esto.
Computadora 1 Formulario->Registro-> Campo_No.Reg = 1
Computadora 2 Formulario->Registro-> Campo_No.Reg = 2
Se me ocurre una manera que pudiera ser por medio de un login que al momento de que entre el usuario se genere el registro... pero el problema seria que si este usuario no hace ningun registro.. se quedaria con el numero y quedaria en blanco...
Aqui tengo el codigo con lo que hice el login.

Este es el codigo del boton
Dim NumIntentos As Integer
Private Sub CmdAcceder_Click()
Dim auxContrasena As String
'Comprobamos que hay datos en las cajas de texto
If Nz(Me.TxtUsuario.Value, "") = "" Then
MsgBox "Seleccione un nombre de usuario de la lista para acceder", vbInformation, "ATENCION"
Me.TxtUsuario.SetFocus
ElseIf Nz(Me.TxtContrasena.Value, "") = "" Then
MsgBox "Introduzca la contrasena del usuario seleccionado", vbInformation, "ATENCION"
Me.TxtContrasena.SetFocus
Else
If Nz(DLookup("Contrasena", "Empleados", "IdEmpleado=" & Me![TxtUsuario]), "") <> "" Then
auxContrasena = DLookup("Contrasena", "Empleados", "IdEmpleado=" & Me![TxtUsuario])
End If
If auxContrasena <> Me.TxtContrasena.Value Then
If NumIntentos > 1 Then
NumIntentos = NumIntentos - 1
MsgBox "La contraseña introducida es incorrecta" & vbCrLf & _
"Le quedan " & NumIntentos & " intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "INTRODUCCIÓN INCORRECTA"
Me.TxtContrasena.Value = ""
Me.TxtContrasena.SetFocus
Else
MsgBox "Ha superado el numero de intentos", vbCritical, "ADIOS..."
DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
End If
Else
If DLookup("IdTipoAcceso", "Empleados", "IdEmpleado=" & Me![TxtUsuario]) = 1 Then
'**entrada como administrador
MsgBox "Ha entrado el administrador", vbInformation, "BIENVENIDO ADMINISTRADOR"
'Call MuestraTodasTablas
DoCmd.OpenForm "frmmenu"
DoCmd.Close acForm, Me.Name
Else
MsgBox "Ha entrado un usuario", vbInformation, "BIENVENIDO"
'Call OcultaTodasTablas
DoCmd.OpenForm "FormRequisicion"
DoCmd.Close acForm, Me.Name
End If
End If
End If
End Sub
Necesito ayuda no se como hacerlo =//
De antemano
Gracias..!!
Valora esta pregunta


0