PDA

Vollständige Version anzeigen : Mehrbenutzerzugriff die 3.te


slinger
10.10.2003, 07:57
Hallo,

so jetzt poste ich hier auch mal mein Problem, da ich echt nicht weiter weiß.

Leider bin ich nicht so richtig weitergekommen mit meiner Benutzerverwaltung. Darum probier ich es jetzt nochmal und erklär mal genauer mein Problem.

Also, ich bin gerade dabei in Access 2000 eine Stunden und Tätigkeitserfassung zu erstellen. Diese Anwendung liegt auf einem im Netz freigegebenen Laufwerk. Auf diese Anwendung sollen dann Mitarbeiter (bis ca 20) zugreifen können und IHRE Stunden und Tätigkeiten bearbeiten und eintragen. Mittlerweile habe ich mir das sogedacht, dass eine Tabelle user_ident existiert, in der die Benutzernamen und Passwörter stehen. Wenn ein Benutzer auf die Anwendung zugreift soll ein erstelltes Login Formular aufgehen in dem Benutzername und Passwort eingetragen werden muss, per Klick gehts dann weiter. Mit einer Abfrage wird dann überprüft ob Benutzer vorhanden oder nicht. So jetzt das eigentliche Problem. Irgendwie muss der Benutzer dann ja einen Wert mit sich "rumtragen" wärend er mit dem Programm arbeitet. Will er z.B eine Abrage nach Tätigkeiten und Stunden pro Monat machen sollen nur SEINE Stunden erscheinen. Weiterhin soll wenn er neue Daten eingibt das natürlich seiner Person zugeordnet werden. Es muss also möglich sein, Ihn während der ganzen Sitzung zu identifizieren.

Wie kann ich sowas realisieren, oder gibts ne bessere, einfachere Möglichkeit?

Vielen Dank für Eure Hilfe

Gruß

Markus

MisterBurns
10.10.2003, 08:03
hallo markus,

eine benutzerverwaltung findest du unter

Benutzerverwaltung (http://www.access-paradies.de/download/benutzerverwaltung.php)

grüße

burns

slinger
10.10.2003, 08:20
Hallo Burns,

danke für den Hinweis, das war aber nicht mein Problem. Ich möchte keine Benutzerverwaltung sond eine Login Funktion erstellen die mir dann dementsprechend einen Wert übergibt und mit dem der jeweilige Benutzer dann bei Abfragen oder Berichten identifiziert wird.

Trotzdem Danke

Gruß

Markus

slinger
14.10.2003, 10:39
Hallo ,

auch wenn ich der Gefahr entgegen gehe schon wieder zu posten, kann ich gar nicht anders. Ich hab keinen Ahnung wie ich weiter kommen soll. Also fang ich einfach mal an aufzuzählen: In meinem Praktikum, welches ich gerade absolviere, habe ich die Aufgabe eine Datenbank zu erstellen, auf die mehrere Personen zugreifen sollen. Ein Teil davon ist eine Arbeitszeiterfassung. Hier soll jeder Mitarbeiter seine Daten eingeben können. Im Moment häng ich bei der Anmeldeprozedur. Jeder Benutzer ruft die gleiche Datenbank auf (liegt auf einem Netzlaufwerk). Anhand einer PersonalID werden die Einträge in den Tabellen dem jeweiligen Mitarbeiter zugeordnet. Die Benutzer greifen nur auf Formulare (also ein Frontend) zu. Jetzt soll es aber so sein, dass (entweder muss er sich in einem Formular am Start einloggen oder der Netzwerkname wird irgendwie ausgelesen) ihm die eingegebenen Abfragen zugeordnet werden, also ruft er seine Arbeitszeiten ab sollen nur seine Arbeitszeiten erscheinen, die Restlichen dürfen nicht berücksichtigt werden, obwohl in der gleichen Tabelle. Das gleiche soll mit allen Abfragen so sein, von denen der Benutzer ja nur die Ergebnisse mitbekommt.

Könnt ihr mir eine Vorgehensweise nennen, ich komm einfach nicht auf die Sprünge.

Vielen Dank

Markus

Arne Dieckmann
14.10.2003, 10:47
Hallo Markus,

bitte erstelle immer nur ein Thema/Thread pro Frage.
S. dazu auch unsere Netiquette (http://www.ms-office-forum.net/forum/netiquette.php).

Themen wurden zusammengeführt.


Kleiner Tipp: Um Dein Problem im Forum erneut ins Blickfeld zu bringen, kannst Du eine Antwort (z.B. mit dem Inhalt "on top") in dem alten Thema erstellen. Durch die chronologische Sortierung anhand des Beitragsdatums wandert der Thread damit -zumindest für eine gewisse Zeit- wieder auf die 1. Seite.*

Das alte Thema findest Du -sofern Du registrierter Benutzer dieses Forums bist und den Thread nicht als Gast geführt hast- unter Deinen abonnierten Themen im Bereich "mein MOF" bzw. mit Hilfe des Lupen-Symbols neben Deinem Benutzernamen. Beachte bei der ersten Variante bitte die Einstellung "Zeige Themen", wo Du den gewünschten Zeitraum auswählen kannst.


*=Bitte mache aber von dieser Möglichkeit keinen exzessiven Gebrauch. Danke!

Chief10
14.10.2003, 10:54
Hi,

wenn du das mit Wrkgrp's machst, könntest du den Benutzer abfragen und dementsprechend die Abfrage benutzen, die für denjenigen Benutzer bestimmt ist (nur seine Daten)!

Falls du für Wrkgrp's einen Link brauchst....
http://www.marktscheffel.de/access/accesszugriffsschutz.htm

Nouba
14.10.2003, 10:54
Wenn eine Arbeitsgruppendatei verwendet wird, könnte man ein Feld für den Benutzer in den Tabellen anlegen, das mit der Funktion CurrentUser() befüllt wird. In Abfragen könnte man mit derselben Funktion die Datenmenge im Kriterium einschränken. Meldet sich <i>Otto</i> erfolgreich in der DB an, gibt CurrentUser() <i>Otto</i> als Wert zurück.

Sascha Trowitzsch
14.10.2003, 10:57
Den angemeldeten User ermittelst du mit Application.CurrentUser .

Entweder muss in den entspr. Tabellen ein zusätzliches Feld enthalten sein, in das der angemeldete User eingetragen wird, wenn ein Datensatz von ihm angelegt wird.
Oder du brauchst eine Zusatztabelle mit drei Spalten:
TabelleName | ID | User |

Bei jedem Anlegen eines Datensatzes wird in diese Tabelle der Name der Tabelle eingetragen, die ID des entspr. Datensatzes und der Username.

Für die Anzeige der Daten müssen dann jeweils Abfragen verwendet werden, die nach dem Usernamen filtern. Das geht einfacher mit der ersten Variante.

Ciao, Sascha

Chief10
14.10.2003, 11:04
Du könntest die "Abfrage" in einem AutoExec-Makro durchführen.

Dazu musst du eine Funktion in der Form

if Benutzername = ....... then
....benutze Abfrage1....
else.....

end if

erstellen.

Beim Makro musst du "Funktion ausführen" auswählen und das Datenbankfenster und sonstiges (ev. Shift-Taste,....) ausblenden (damit der User nicht doch an andere Daten kommt).

Wie du auf den Benutzernamen zugreifst kann ich dir leider net sagen, da mich meine Hilfe wieder im Stich lässt!

Chief10
14.10.2003, 11:14
Also soweit ichs versteh benutzt du momentan noch keine Wrkgrp's bzw. Arbeitsgruppen, oder?

Dann wäre das wohl dein erster Schritt!

Danach machst dus am besten nach Noubas oder Arnes Vorschlag.

Bei meinem müsstest du nämlich zig Abfragen erstellen.

PS: Sehe grad, dass die Sache mit dem Benutzernamen schon geklärt ist!

Arne Dieckmann
14.10.2003, 11:19
@Chief10: Bevor Sascha sich beschwert - "Arne"<>"Sascha" ;)

Sascha Trowitzsch
14.10.2003, 11:22
@ARne: Du hattest doch auch einen Vorschlag:
bitte erstelle immer nur ein Thema/Thread pro Frage. :D

Chief10
14.10.2003, 11:24
Na ja,..... wer weiß schon was sich hinter den Namen hier verbirgt!

Vielleicht seid ihr ja in Wirklichkeit zwei scharfe Blondinen oder so??? ;)

slinger
14.10.2003, 11:47
@all

Find ich echt nett, dass Ihr so rege auf meine Frage geantwortet habt. Ich kümmer mich jetzt mal um die Workgroups und kämpf dann mit der userfunktion herum.

Viele Dank erst mal an Euch

Markus