Funderar på hur man kan skydda ett formulär med ett lösenord. Jag har ett formulär där det finns ett antal knappar och en av dessa knappar leder till ett administrationsformulär. Hur göra? Jag antar att man enkelt kan stoppa in något i den befintliga koden som ser ut så här för denna knapp: Detta är ett enkelt skydd. Inte så säkert. Med denna koden så får du upp ett lösenordsfönster som heter Behörighetsnivå 2 och skriver du då Admin som lösenord så utförs händelsen för knappen, skriver du något annat eller inget alls så händer det ingenting när du klickar OK Tackar för era svar! Ska testa och återkommer om jag har några funderingar! Nackdelen med att lägga koden i knappen är att du fortfarande kan öppna formuläret från databasfönstret eller med ett annat macro. Lösenordsskydda ett formulär
Private Sub Admin_Click()
On Error GoTo Err_Admin_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Startformulär admin"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Admin_Click:
Exit Sub
Err_Admin_Click:
MsgBox Err.Description
Resume Exit_Admin_ClickSv: Lösenordsskydda ett formulär
Lägg följande kod i formuläret du vill skydda:
Private Sub Form_Open(Cancel As Integer)
Dim Password As String
Const AdminPassword As String = "foobar"
Password = InputBox("Fyll i adminaströrs lösenord:", "Admin")
Cancel = (Password <> AdminPassword)
End Sub
Du bör i öppna koden ta hand om felaktigt lösenord:
Private Sub Admin_Click()
On Error GoTo Err_Admin_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Startformulär admin"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Admin_Click:
Exit Sub
Err_Admin_Click:
Select Case Err.Number
Case 2501 'The OpenForm action was canceled.
MsgBox "Du har inte rättigheter att använda detta formulär!", vbExclamation
Resume Exit_Command0_Click
Case Else
MsgBox Err.Description, vbExclamation
Resume Exit_Command0_Click
End Select
End Sub
Annars så finns det rättighetessystem inbygt i Access.
* Skapa en egen arbetsgrupps fil.
* Starta access med denna
* Skapa grupper och kontn du vill ha
* Säkra upp din databas, finns en wizard för det.
* Begränsa rättigheterna till att bara tillåta administrations gruppen att öppna fönstret.
Sv: Lösenordsskydda ett formulär
Private Sub Admin_Click()
On Error GoTo Err_Admin_Click
If (InputBox("Behörighetsnivå 2:", "Behörighet") = "Admin") Then
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Startformulär admin"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
End If
Exit_Admin_Click:
Exit Sub
Err_Admin_Click:
MsgBox Err.Description
Resume Exit_Admin_ClickSv: Lösenordsskydda ett formulär
Sv:Lösenordsskydda ett formulär
Lägg rekomenderar jag att du lägger behörighetskontrollen i formuläret det hör hemma.