shifttoets en f11 in en uitschakelen

Status
Niet open voor verdere reacties.

peterrv

Gebruiker
Lid geworden
30 jan 2018
Berichten
19
Hoihoi, Waarschijnlijk zal het antwoord op mijn vraag vast en zeker hier al op het forum staan, ik kan het helaas niet vinden :) Ik heb de access database al gesplitst in een _fe en een _be (met een wachtwoord). Nu zou ik ook willen dat niemand de shifttoets en f11 toets gebruikt bij het opstarten. Hoe kan ik deze "uitzetten" en eventueel aanzetten indien nodig? Is zoiets mogelijk (eventueel een voorbeeld voor me?? ).
 
Je vroeg om een voorbeeldje, maar voor een voorbeeld zul je zelf een FE-BE moeten meeposten, want ik sta niet te popelen om een dummy db te maken speciaal hiervoor, en ik gebruik deze constructie eigenlijk alleen in bedrijfsoplossingen, die ik uiteraard hier niet ga delen. Maar een code voorbeeldje kan natuurlijk wel. Eerst even de werkwijze: ik gebruik een opstartformulier met daarop een knop Admin die alleen voor de beheerders zichtbaar is. (ik werk dus ook met een rechtenstructuur). Die knop triggert een inputbox waarmee je met het juiste wachtwoord de Shift toets aan of uit kan zetten. Je moet dus minstens een formulier hebben waar de knop op staat. Daarnaast kun je deze twee procedures in een willekeurige module zetten.

Op het formulier:
Code:
Private Sub Knop53_Click()
Dim strInput As String, GetProp As Boolean, strResult As String
    On Error GoTo Err_bDisableBypassKey_Click
    'This ensures the user is the programmer needing to disable the Bypass Key
    GetProp = GetProperties("AllowByPassKey")
    strResult = IIf(GetProp = True, "Uitschakelen", "Inschakelen")
    strInput = InputBox("Wil je de Bypass Key " & strResult & "?" & vbCrLf & vbLf & "Typ het wachtwoord in om deBypass Key te activeren.")
    If strInput = "ZeeburgEnOost" Then
        GetProp = Not GetProp
        strResult = IIf(GetProp = False, "Uitgeschakeld", "Ingeschakeld")
        SetProperties "AllowBypassKey", dbBoolean, GetProp
        Msgbox "De Bypass Key is " & strResult & "." & vbCrLf & vbLf _
            & "Je kunt de Shift key de volgende keer gebruiken " & vbCrLf & vbLf _
            & "om het database venster te openen.", vbInformation, "Set Startup Properties"
    Else
        SetProperties "AllowBypassKey", dbBoolean, False
        Msgbox "Verkeerd ''AllowBypassKey'' wachtwoord!" & vbCrLf & vbLf & _
            "De Bypass Key is uitgeschakeld." & vbCrLf & vbLf & _
            "De Shift key kan niet gebruikt worden om de opstart procedure" & _
            "te omzeilen bij het starten van de database.", vbCritical, "Invalid Password"
        Exit Sub
    End If
    Exit Sub

Err_bDisableBypassKey_Click:
    Msgbox "bDisableBypassKey_Click", Err.Number, Err.Description
End Sub

En in de module:
Code:
Public Function SetProperties(strPropName As String, varPropType As Variant, varPropValue As Variant) As Boolean
Dim prp As DAO.Property

    On Error GoTo Err_SetProperties
    CurrentDb.Properties(strPropName) = varPropValue
    SetProperties = varPropValue
    Exit Function

Err_SetProperties:
    If Err = 3270 Then    'Property not found
        Set prp = CurrentDb.CreateProperty(strPropName, varPropType, varPropValue)
        CurrentDb.Properties.Append prp
        Resume Next
    Else
        SetProperties = False
        Msgbox "SetProperties", Err.Number, Err.Description
    End If
End Function

Code:
Function GetProperties(strPropName As String) As Boolean
On Error GoTo NoProp
Const conPropNotFound = 3270

    GetProperties = CurrentDb.Properties(strPropName).Value
    Exit Function
    
NoProp:
    If Err = conPropNotFound Then
        GetProperties = False
        Exit Function
    End If

End Function
 
dank jullie wel! Ik ga hier mee aan de slag. Super bedankt voor de code
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan