Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Ist das deaktivieren der Spezialtaste "Shift" beim starten der DB möglich?

Begonnen von derilzemer, Juni 28, 2017, 17:53:25

⏪ vorheriges - nächstes ⏩

derilzemer

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
Grüße und Dank im voraus
Andreas

PhilS

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.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

derilzemer

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 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


Grüße und Dank im voraus
Andreas