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
Hallo
Schau mal hier.
http://www.access-o-mania.de/forum/index.php?topic=15373.0
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
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.
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]
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.
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
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
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)
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
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
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
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
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 ;)
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...