Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Laie1 am April 10, 2013, 20:51:22

Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 10, 2013, 20:51:22
Hallo zusammen, e
es gab hier schon einmal eine Anfrage um die Benutzeranfrage in einem Formular anzuzeigen.
Meine Frage ist nun, ob dies auch in Verbindung mit Namensfeldern geht?
Ich habe ein Formular wo 15 Namensfelder untereinander stehen und möchte dahinter den Bentzername automatisch einfügen, sobald ein Name im Namensfeld eingegeben wird.
Hoffentlich habe ich mich gut genug ausgedrückt.

Im voraus schon mal Danke.

Laie1
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Stapi am April 11, 2013, 14:56:16
Hallo

Schau mal hier.
http://www.access-o-mania.de/forum/index.php?topic=15373.0
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 11, 2013, 16:29:00
Hallo Stapi,

danke für die Antwort, das habe ich heute ausprobiert, funktioniert auch soweit, nur weiss ich nicht wie ich das mit einem Textfeld (Namensfeld) verknüpfen muss, damit sich das Textfeld für die Benutzerkennung ausfüllt.
Ich habe in dem Formular 15 Namensfelder und möchte sehen wer welches ausfüllt, da mit der Datenbank mehrere Leute arbeiten.

Gruß

Laie1
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: MzKlMu am April 11, 2013, 16:39:41
Hallo,
das ist in dem Link von Stapi alles beschrieben.
Wenn die Funktion als Standardwert hinterleget ist, wird bei einem neuen Datensatz der Name ausgefüllt.

Was sind denn das für 15 Namensfelder? Warum sind das 15 gleiche Felder?

Vermutlich liegt hier bereits ein falsches Datenmodell vor.
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 11, 2013, 17:25:36
Hallo,
und danke für die Antwort.


ich habe die Datenbank so angelegt wie ich es hinbekam. Bestimmt gibt es hier bessere Möglichkeiten, aber dazu muss man sich auch besser auskennen (Anfänger).
Deshalb wollte ich es so anlegen, wenn ich einen Namen eintrage, dass dann in einem Feld die PC Nutzerkennung kommt.
Gruß

Laie1

[Anhang gelöscht durch Administrator]
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: MzKlMu am April 11, 2013, 17:43:24
Hallo,
und in welches Feld soll der Name eingetragen werden?

Das Bild hilft nicht wirklich und sagt nichts über die zu Grunde liegenden Tabellen aus.
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 11, 2013, 18:06:47
Hallo MzKiMu,
die Namen sollen in die erste Spalte unter Namen neben den Uhrzeiten eingetragen werden.
Die Daten gehen alle in eine Tabelle, wo auch die Namensfelder eingetragen werden. Es ist sicher keine Elegante Lösung,
aber wie gesagt, wir Arbeiten damit schon 11/2 Jahre ohne Probleme.

Danke für deine Antwort.

Gruß

Laie1
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Stapi am April 11, 2013, 18:53:54
Hallo

In deinem Formular das Ensprechende Feld als Standartwert beschreiben bei Anlegung eines neuen Datensatz, wie auch @MzKiMu dir das schon geschrieben hat.
ZitatWenn die Funktion als Standardwert hinterleget ist, wird bei einem neuen Datensatz der Name ausgefüllt
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: DF6GL am April 11, 2013, 21:16:31
Hallo,


die Anforderung ist völlig unklar:

ZitatIch habe ein Formular wo 15 Namensfelder untereinander stehen und möchte dahinter den Benutzername automatisch einfügen, sobald ein Name im Namensfeld eingegeben wird.

Warum soll ein Benutzername eingeben werden, wenn der wie der Einlogname lauten soll?

WO "dahinter" soll der Benutzername stehen?


Wenn damit gemeint ist, dass ein bestimmter User auch andere Usernamen eingeben soll/kann und dabei deren Benutzername von Windows geliefert werden soll ("Username") , so geht das wohl nicht ohne Weiteres.  Möglich wäre , im Vorfeld eine (weitere) Tabelle zu pflegen, die die Vor-/Nachnamen und die Windows-Anmeldenamen der möglichen User enthält. Mit Hilfe dieser Tabelle könnte dann für jede angegebene Uhrzeit der betreffende Name ausgewählt (und damit auch die Kenntnis dessen Benutzernamens) werden.

(Ohne auf die unzureichende Tabellenstruktur weiter einzugehen)


Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 12, 2013, 18:34:23
Hallo,
ich möchte eigentlich nur den Einlogname von jedem der eine Spalte in dem Formular ausfüllt, dies sollte entweder automatisch oder über Anmelden geschehen.
Es sollte aber nicht so sein, das es ei9n Listenfeld wird und man einen anderen Einlognamen auswählen kann.
Aber wie ich oben schon geschrieben habe, ich bin kein Accesskenner, wie Ihr auch schon bemerkt habt.
Trotzdem Danke für deine Mühe.

Gruß

Laie1
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: DF6GL am April 12, 2013, 22:10:24
Hallo,

ok, und WO soll der Einlogname zu stehen kommen?


So ganz nach Deinen Vorstellungen wird sich die Aufgabe nicht lösen lassen, derweil die Tabelle nicht normalisiert ist und in EINEM Datensatz ALLE 15 Namen erfasst werden.


"von jedem der eine Spalte in dem Formular ausfüllt"

das heißt aber entspr. Deinem Formular, dass ein bestimmter User zu einem bestimmten Zeitpunkt ALLE 15 Namen und deren zugeordnete Werte "pflegen" kann...


Wenn Du festhalten willst, wer zuletzt an einem Datensatz gearbeitet hat, dann füge zwei weitere Felder in der Tabelle und die entspr.Textfelder  im Formular hinzu:  "Bearbeiter" (Text)  und "Bearbeitungsdatum" (Datum/Uhrzeit).

Mit dem folgenden Code wird beim (bzw. kurz vor dem) Speichern der Änderung(en) an einem Datensatz  (Formular-Ereignis "Vor Aktualisierung") der Username und der Zeitpunkt mit abgelegt:



Sub Form_BeforeUpdate (Cancel as Integer)
Me!Bearbeiter = Environ("Username")
Me!Bearbeitungsdatum = Now()
End Sub

Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 13, 2013, 12:48:05
Ja das ist richtig jeder User kann in dem gleichen Datensatz arbeiten. Wir brauchen diese Übersicht, um zu sehen wann welcher Termin am diesem Tag vergeben ist, um eine doppelte Vergabe zu vermeiden.
Deswegen habich auch nur eine Tabelle um die Datenfelder zusammen zubekommen. Das hätte man sicherlich anders lösen können, zb. für jede Uhrzeit eine Tabelle. Aber wie gesagt, das habe ich mehr oder weniger Hobbymässig erstellt um eine Arbeitserleichterung zu haben, was es auch ist. Leider haben wir Mitarbeiter dabei die Daten ändern um es anderen in die Schuhe zu schieben und diese möchte ich rausbekommen.
Das ist der Hintergrund der ganzen Sache.
Es wird für jeden Tag ein neuer Datensatz angelegt, mit den 15 Namen-Vornamen-Fahrzeugart- zugelassen-usw. Die Uhrzeiten sind ab 8:00 sind halbstdl. fest vergeben und die Namen stehen hinter den Uhrzeiten, dami man eine gute Übersicht hat.

Gruß

Laie1
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: DF6GL am April 13, 2013, 13:35:38
Hallo,

ja, das habe ich schon verstanden, wie das gemacht wird..  Nur ändert es nichts an der Tatsache, dass die Tabellenbasis prinzipiell falsch ist.


"zb. für jede Uhrzeit eine Tabelle. "    das wäre ja noch fataler  :o


Das, was Du vorhast, nämlich herauszufinden, wer was wann verändert hat, kannst Du so nicht lösen.


Ein gangbarer Weg wäre eine Log-Funktionalität, die die einzelnen Änderungen an den Datensätzen protokolliert. Siehe dazu das folgende  Beispiel:

http://www.dbwiki.net/images/2/2c/AccSampleAuditTrail.zip




Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: Laie1 am April 13, 2013, 14:27:10
Ja das siht nicht schlecht aus, Bräuchte auch nicht so viel Felder zu haben Datum, Name würde reichen, am besten nur in der TAbelle, dass es keiner sieht.

Gruß


Laie1 ;)
Titel: Re: Benutzername Automatisch Einfügen
Beitrag von: DF6GL am April 13, 2013, 20:43:12
Hallo,

wie es "in der Tabelle" geht, hab ich doch schon anfangs gesagt.....

mit den Einschränkungen, dass der User keinem Namen zugeordnet werden kann und es auch keine Historie gibt.


Die Form-Textfelder, die den Einlognamen und das Datum mit Uhrzeit aufnehmen, kannst Du im Formular auf unsichtbar stellen...