Hallo,
über die Optionen einer Access DB kann man durch disable des Punktes Access-Spezialtasten verwenden alles im Zusammenhang mit F11 etc. deaktivieren. Jedoch wird dadurch die Shift Taste NICHT deaktiviert, sodass dann wieder ein Zugriff auf die Menüoptionen etc. stattfinden kann. Kann man diese Shift Funktion gänzlich deaktivieren? Wenn ja, wie ist dies möglich, mit VBA? Ich nutze Access 2016 32 Bit. Danke für Tipps oder Hinweise
Gruß Andreas
Zitat von: derilzemer am Juni 28, 2017, 17:53:25Kann man diese Shift Funktion gänzlich deaktivieren?
Es lohnt sich bei (fast) allen Access-Fragen zuerst in der Access-FAQ zu schauen. Dort gibt es den Artikel
Verhindern der Shift-Taste beim Start (http://www.donkarl.com?FAQ1.8).
Hi,
da hast du grundsätzlich recht. Ich habe jedoch eine Loginform, daran habeich das Ereignis gekoppelt. Dazu habe ich mich an die Anweisungen hier https://www.youtube.com/watch?v=i1n7H686bWI&t=848s (https://www.youtube.com/watch?v=i1n7H686bWI&t=848s) gehalten. Die Anweisungen sind aus Access 2013, ich nutze 2016. Ich habe eben Auffälligkleiten, welche den Schluss zulassen, dass es unter 2016 nicht mehr so einfach ist. Kann das sein? Anders herum frage ich mich, wie ich den Hinweis von DonKarls Seite "einbauen" kann mit der Möglichkeit des aktiveriens. Er spricht von versteckter Möglichkeit schaffen.
Da ist ja eigentlich eine Loginform, wo diese Möglichkeit nur mit dem Benutzer zusammenhängt (Benutzerartprüfung Admin oder User) eigentlich das sinnigste :(. Das funktioniert auch alles, bis zu dem Punkt, dass ich den AllowBypassKey zulasse oder nicht, dann schließt er die Loginform nicht und somit wird es nicht aktiv :(. Es kommt auch keine Fehlermeldung etc. Hier mal der Code, den ich nutze. Die Anmeldungen ohne die Prüfung der Benutzerart funktioniert. Die Prüfung der Benutzerart scheint aber auch zu passen, da beim Login eines normalen Users die Aloow BypassKey nicht gestellt wird. Könnt ihr da eventuell das Problem am Code erkennen? Danke für eventuelle Hilfe
Gruß Andreas
Option Compare Database
Option Explicit
Private Sub cmdLogin_Click()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("tblBenutzer", dbOpenSnapshot, dbReadOnly)
rs.FindFirst "UserID='" & Me.txtBenutzername & "'"
If rs.NoMatch = True Then
Me.lblFalscherBenutzer.Visible = True
Me.txtBenutzername.SetFocus
Exit Sub
End If
Me.lblFalscherBenutzer.Visible = False
If rs!Passwort <> Me.txtPasswort Then
' Um encrypt zu nutzen folgenden Code aktivieren
' If rs!Passwort <> Encrypt(Me.txtPasswort) Then
Me.lblFalschesPasswort.Visible = True
Me.txtPasswort.SetFocus
Exit Sub
End If
Me.lblFalschesPasswort.Visible = False
If rs!BenutzerArtID_F = 1 Then
Dim prop As Property
On Error GoTo SetProperty
Set prop = CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, False)
CurrentDb.Properties.Append prop
SetProperty:
If MsgBox("Willst du wirklich den Bypass-Key aktivieren?", vbYesNo, "Allow Bypass") = vbYes Then
CurrentDb.Properties("AllowBypassKey") = True
Else
CurrentDb.Properties("AllowBypassKey") = False
End If
End If
DoCmd.OpenForm "frmMenueseite"
DoCmd.Close acForm, "frmLogin"
End Sub