record beveiligen

Status
Niet open voor verdere reacties.

benprint

Gebruiker
Lid geworden
3 jun 2009
Berichten
21
Goede middag allen,

IK heb een vraag. IS het mogelijk en zo ja hoe om er voor te zorgen dat records niet verwijderd kunnen worden maar wel toegevoegd.en dan bedoel ik op login nivaeu.
IK kan middels een login script wel bepalen dat als pietje puk inlogt dat hij een formulier opstart en als bijv iemand anders inogt dat dan iets anders opgestart word maar kun je ook regelen dat het beveiligt word ik heb een formulier met een vba script die luid ls
Code:
Private Sub Knop4_Click()

Form_wachtwoord.SetFocus
If loginnaam = "gebruiker" And wachtwoord = "test" Then
   MsgBox "Welkom"
 DoCmd.Close
 DoCmd.OpenForm "schakelbord"
 ElseIf loginnaam = "ik" And wachtwoord = "ik" Then
   Shell "C:\Program Files\Microsoft Office\Office12\winword.exe", vbMaximizedFocus
ElseIf loginnaam = "excel" And wachtwoord = "test" Then
   Shell "C:\Program Files\Microsoft Office\Office12\excel.exe", vbMaximizedFocus
 
 Else
 MsgBox "Foutieve gebruikersnaam en/of wachtwoord"
 End If
 End Sub
volgt:
dit werkt wel aardig maar ik wil er voor zorgen dat men niets weg kan halen en iemand met meer bevoedheden dit wel kan .
IK werk met access 2007 onder 2003 was het 1 en ander wel mogelijk.
 
Het zal in 2007 nog steeds wel mogelijk zijn, neem ik aan... Wat je zou kunnen doen, is gebruikersrechten instellen via een tabel, door voor de gebruikers een tabel te maken en in te stellen wat hun rechten zijn. Vervolgens bepaal je bij het openen van formulieren wat een gebruiker wel of niet mag doen. Als je een formulier opent met de instelling <Verwijderen toestaan>=Ja, dan mag iemand records verwijderen. Staat de instelling op Nee, dan mag dat niet. Hetzelfde met <Toevoegen toestaan> en <Bewerken toestaan>. Al deze rechten stel je in als een gebruiker via het hoofdformulier een formulier opent, doordat je bij het openen de rechten uit de tabel inleest, en toepast op het formulier.
Op deze manier kun je heel flexibel allerlei rechten instellen en toepassen.
Als je dat heel uitgebreid wilt instellen, dan gebruik je een aparte tabel waarin je op formulier of tabelniveau de rechten vastlegt, zodat je bij een gebruiker die in eerste instantie wel verwijderrechten heeft, kunt aangeven voor welke formulieren dat wel geldt, en voor welke formulieren niet.
 
Ik heb een nieuwe db onder msaccess aangemaakt maar ik heb wel vaker een db onder 2000/2003 aangemaakt zodoende weet ik dit maar importeren is dus geen optie.
Maar als ik het goed begrijp moet ik een nieuwe tabel aanmaken en daar de gebruikers in aanmaken en rechten op toe te passen. moet ik dit in de tabel regelen of gewoon met vba?
 
Als je aan je gebruikers rechten wilt geven, dan doe je dat in daarvoor bestemde velden. Je tabel bevat dan bijvoorbeeld de velden [UserID], [UserName], [Schrijven], [Verwijderen]. De laatste 2 zijn dan bijvoorbeeld Ja/nee velden. Bij de persoon die records mag aanmaken en verwijderen, zet je de vinkjes bij [Schrijven] en [Verwijderen] aan. Als iemand alleen mag toevoegen, zet je alleen een vinkje bij [Schrijven].
Wil je specifiek op tabellen of formulieren kunnen werken, dan maak je een extra tabel, waarin je bijvoorbeeld de volgende velden zet: [UserID], [Formulier], [Lezen], [Schrijven],[Verwijderen]. Deze tabel koppel je dan aan je tabel UserLogin, waar de selectievakjes dan uiteraard wegkunnen.
Je kunt nu voor elk formulier aangeven of iemand hem mag openen (lezen=Ja), toevoegen etc.
 
om eerlijk te zijn valt het kwartje niet echt of ik kijk er overheen.
1 ik maak een nieuwe tabel en noem die "veilig" en zet daar bijvoorbeeld:
de velden [UserID], [UserName], [Schrijven], [Verwijderen].
bij userid :1
username test
schrijven geen vinkje
verwijderen geen vinkje
dan vervolgens maak ik een formulier aan met de records uit de tabel die ik al had
Relatie database dus naam adres woonplaats ect
nu dacht ik dat als ik hier met de rechtermuis toets naar ontwerpweergave ga en dan naar de vba editer en dan kies voor set focus = veilig
en dan weet ik het eigenlijk niet meer waarschijnelijk lees ik het niet helemaal goed.:rolleyes:
 
De tabel is OK, dus dat is verder geen probleem.
Wat je moet doen om 'm te gebruiken, is een Inlogscherm maken (als je dat nog niet hebt) waarmee gebruikers inloggen in de db. Afhankelijk van de rechten die de mensen hebben, krijg je dan het Hoofdformulier (Schakelbord) waarin ze keuzes krijgen om bepaalde formulieren te openen. Achter deze formulieren moet je code zetten bij de gebeurtenis <Bij Laden> die gaat controleren welke rechten de gebruikers hebben. Afhankelijk van deze rechten (die je met een Recordset uit de tabel [Veilig] haalt) worden op het te openen formulier de eigenschappen ingesteld.
Dus in jouw voorbeeld:
1. Test logt in
2. Krijgt het hoofdformulier voor zijn neus
3. Klikt op het formulier Klanten
4. Bij het openen van het formulier Klanten worden de rechten ingesteld voor user Test.
 
IK neem aan dat ik deze tabelen moet koppelen middels een query.
Het is namelijk al een jaar of 6 geleden dat ik hier actief mee bezig ben geweest dus de kennis is een beetje vertroebeld. Mijn loginscherm (zoals je vroeg) zoals dit boven in het forum staat gemaakt in vbs. Dit werkt op zich wel maar misschien niet goed voor zoals ik hem zal moeten gebruiken voor de rechten. misschien heb je een voorbeeld zodat ik weer een beetje uit de voeten kan (mocht dit niet te veel gevraagd zijn).
gr Bennie
 
In deze draad zijn wat voorbeelden gepost; er zit denk ik wel genoeg materiaal bij om even mee te stoeien.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan