Velden hiden op basis van een prive level ingesteld in de user tabel

Status
Niet open voor verdere reacties.

jantrance

Gebruiker
Lid geworden
27 mei 2013
Berichten
6
Ik heb een vrij complexe database van een medewerker van mij gekregen en ik moet deze verbouwen nou ben ik helemaal nieuw met VBA en is het dus voor mij erg lastig.
Het gaat om de volgende kwestie:
In de database staan prive gegevens van personen die sommige users van het programma wel mogen zien en anderen niet.
Nou was mijn oplossing om in de User tabel een kolom toe te voegen die Prive heet en nummer als attribuut heeft, en dat het dan een 1 of 2 is.
Dus bijvoorbeeld bij 1 mag je alles zien en bij 2 als iemand een organisatie opent dat hij op dat scherm alleen maar een adres krijgt te zien en niet het telefoonnummer (dat het veld telefoonnummer bijvoorbeeld wordt gehide)

In het hoofdscherm is een zoek functie daar kun je zoeken naar organisaties of personen. Na het zoeken krijg je resultaat en kan je op de desbetreffende organisatie of persoon dubbel klikken om deze aan te passen of te bewerken.
Dat opent een nieuw formulier met het resultaat waar je op hebt gedubbel klikt en nu is het de bedoeling dat in dit formulier velden worden gehide op welk prive level jij als user in je prive kolom hebt.

Mijn vraag is dus:
Hoe kan ik op een form een textbox hiden aan de hand van het privelevel dat jij hebt wat in de tabel users kolom prive staat?

Graag met eventuele code en uitleg over hoe ik dit het makkelijkste kan oplossen.

Ter aanvulling:
Users loggin in met een gebruikersnaam en wachtwoord.

Alvast hartelijk dank voor uw reactie.
 
Op het desbetreffende scherm op de formload heb ik deze extra code aangebracht:
Code:
Private Sub Form_Load()
    If GetUser(UsPrive) = "1" Then
        Me.opmerkingen.Visible = False
    End If

In mijn security module heb ik de rode velden aangebracht en het werkt PERFECT!!! Het opmerkingen veld was verdwenen en als ik de prive in de users tabel naar 2 doe dan is het opmerkingenveld erweer:
Code:
Option Compare Database
Option Explicit

Dim UserID As Integer
Dim UserRs As New ADODB.Recordset
Dim User(10) As Variant 'een array van 10 attributes
Public Const UsName = 1, UsPW = 2, UsGroup = 3, [B][COLOR="#FF0000"]UsPrive = 4[/COLOR][/B]
Public Sub RegUser(id As Integer)
On Error GoTo Err_RegUser
'Registreer de user voor de duur van de sessie
 UserID = id
If UserRs.State <> 0 Then UserRs.Close
    UserRs.Open "SELECT username, password, group, [B][COLOR="#FF0000"]prive[/COLOR][/B] FROM users where userid=" & id _
    , CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    
    SetUser UsName, UserRs!UserName
    SetUser UsPW, UserRs!Password
    SetUser UsGroup, UserRs!group
    [B][COLOR="#FF0000"]SetUser UsPrive, UserRs!prive[/COLOR][/B]
UserRs.Close
Set UserRs = Nothing

'Stel de beveiliging in voor deze user
SetSecurity GetUser(UsGroup)

End_Reguser:
    Exit Sub
Err_RegUser:
    MsgBox Err.Description
End Sub

Bedankt voor de gene die alsnog de moeite hebben genomen om te kijken.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan