RE:permitir sólo un usuario
Existe una manera de comprobar que maquina esta conectada a la base de datos, leyendo los datos del archivo ldb, quizas esto te sea util, de esa manera podras determinar cual es la maquina activa y bloquear la apertura para las otras maquinas.
Option Compare Database
Option Explicit
Const adhcUsers = "{947bb102-5d43-11d1-bdbf-00c04fb92675}"
Const adhcAllowUsers = "Allow New Users"
Const adhcDisallowUsers = "Disallow New Users"
Sub BuildUserList()
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim Fld As ADODB.Field
Dim intUser As Integer
Dim strUser As String
Dim varVal As Variant
' Headings
strUser = "Computer;UserName;Connected?;Suspect?"
'Set cnn = Prj.Connection
Set cnn = CurrentProject.Connection
Set rst = cnn.OpenSchema(Schema:=adSchemaProviderSpecific, SchemaId:=adhcUsers)
With rst
Do Until .EOF
intUser = intUser + 1
For Each Fld In .Fields
varVal = Fld.Value
If InStr(varVal, vbNullChar) > 0 Then
varVal = Left(varVal, _
InStr(varVal, vbNullChar) - 1)
End If
strUser = strUser & ";" & varVal
Next
.MoveNext
Loop
End With
txtUsers = intUser
lboUsers.RowSource = strUser
rst.Close
Set rst = Nothing
Set Fld = Nothing
Set cnn = Nothing
End Sub
Private Sub cmdShutdown_Click()
If cmdShutdown.Caption = adhcDisallowUsers Then
' Initiate connection control and fixup
' button caption
CurrentProject.Connection. _
Properties("Jet OLEDB:Connection Control") = 1
cmdShutdown.Caption = adhcAllowUsers
Else
' Undo connection control and fixup
' button caption
CurrentProject.Connection. _
Properties("Jet OLEDB:Connection Control") = 2
cmdShutdown.Caption = adhcDisallowUsers
End If
End Sub
Esta es la funcion, revisala y ve como te funciona, con el segundo procedimiento puedes indicarle que no se puedan conectar mas usuarios
Saludos
Manuel Santos
Venezuela