[Username] korrekt auslesen
Hallo an alle DB-Freunde ;-),
in einer DB lasse ich mir mit Hilfe der Funktion " =Umgebung("Username")" den Datensatz-Autor anzeigen. Da in unserem Netzwerk alle Mitarbeiter mit ihrer PS-Nummer hinterlegt sind, wird mir in der Spalte natürlich auch immer nur diese PS-Nummer hinterlegt.
Jetzt zu meiner Frage: Ist es möglich in dieser Spalte [DS-Autor] nicht die PS-Nummer sondern den realen Namen anzeigen zulassen.
------
Eine Tabelle [NL-Nutzer] mit die PS-Nummern [Autor-Nr] und den jeweiligen Autoren-Namen [Autor-Name] haben ich angelegt.
------
Ich bekommen es aber nicht hin, der Spalte [DS-Autor] oder einer anderen Spalte, in der Tabelle [Erfassung], zu sagen: Wenn in Spalte [DS-Autor] die PS-Nummer "0815" steht, dann suche in Tabelle [NL-Nutzer], in der Spalte [Autor-Nr] die "0815" und nehme aus der Tabelle [NL-Nutzer] aus der Spalte [Autor-Name] den Namen "Hr.Mustermann" und schreibe diesen in die Tabelle [Erfassung] in Spalte [DS-Autor] oder in eine andere Spalte.
------
Ja, das ist eine von meinen Fragen ;-)
-----
Danke für Eure Bemühungen schon mal im vorraus.
-----
Gruß Thomas ;-))
Antwort schreiben
Antwort 1 von Marvin42 vom 02.09.2020, 16:23 Options
Hi,
ich kann dir nicht ganz folgen, glaube ich. In welcher Art von Datenbankanwendung bewegen wir uns denn überhaupt? Man könnte dir natürlich eine SQL-Abfrage geben, aber wenn du nur zwei Excel-Tabellen hast, wäre das ja etwas unpassend.
Generell sollte es problemlos möglich sein, zu der PS-Nummer eines bestimmten Datensatzes einer Tabelle den Namen aus der Mitarbeiterliste rauszusuchen.
Im Allgemeinen würde ich davon Abstand nehmen, den Klarnamen direkt mit dem Eintrag zu verknüpfen. Namen sind meistens weniger eindeutig und beständig als Personal-Nummern.
Antwort 2 von Thomas14547 vom 02.09.2020, 20:49 Options
Hallo Marvin42,
-
oh das hatte ich natürlich vergessen, es handelt sich um MS Access XP 2002 SP3.
-
Mit den "unbeständigen" "Namen sind Schall und Rauch" ;-) hast du natürlich irgendwo recht. Ich bin der einzige admin der DB und der Nutzerkreis der DB ist z.Z. auf zehn User begrenzt. Ich benötige die Namen um fehlerhafte DS Eingaben schneller dem jeweiligen Verursacher zu zuordnen, so muss ich nicht immer erst Nachschlagen welche PSNr zu welchem Autor gehört.
-
Ich hoffe das hat Dir geholfen um meine Frage zu beantworten.
-
Gruß Thomas ;-)
Antwort 3 von Thomas14547 vom 04.09.2020, 12:56 Options
Hallo Marvin42,
.
kann ich noch mit einer Lösung von Dir rechnen oder muss ich das Thema neu einstellen ????
.
Gruß Thomas
Antwort 4 von Teerbaby vom 04.09.2020, 13:15 Options
Das Auslesen geht mit einer Abfrage (Select) z.B.:
SELECT NL-Nutzer.Autor-Name FROM NL-Nutzer INNER JOIN NL-Nutzer.Autor-Nr = Erfassung.DS-Autor
Damit wird aber noch nichts in die Tabelle geschrieben. Dafür bräuchtest du wohl ein Makro. Aber du hast noch nicht geschrieben, wie du auf die Tabellen zugreifst? Zeigst du dir die in einem Formular an?
Antwort 5 von Thomas14547 vom 04.09.2020, 14:17 Options
Hallo Teerbaby,
.
danke das du noch mal mein Thema aufgreifst ;-)).
.
Auf die Tabelle [Erfassung] greife ich mittels unterschiedlicher Abfrage-Tabellen zu, diese Abfrage-Tabellen zeigen mir fehlerhafte Datensätze an und deren DS-Autoren, aber eben nur mit der PS-Nummer ;-).
.
Gruß Thomas
Antwort 6 von Thomas14547 vom 05.09.2020, 20:48 Options
Hallo DB-Fans,
kann mir jemand mit meinem Problem helfen ???
Bin für jede Hilfe DANKBAR.
Gruß Thomas
Antwort 7 von Thomas14547 vom 09.09.2020, 11:15 Options
Hallo an alle DB-Fans ;-), zweiter Versuch
da meine Frage noch nicht erschöpfend beantwortet wurde, ich aber eine Lösung brauche, hier eine Zusammenfassung, was ist bis jetzt passiert ;-) ---->
.............
In einer MS ACCESS DB lasse ich mir mit Hilfe der Funktion " =Umgebung("Username")" den Datensatz-Autor anzeigen.
Da in unserem Netzwerk alle Mitarbeiter mit ihrer PS-Nummer hinterlegt sind, wird mir in der Spalte natürlich auch immer nur diese PS-Nummer hinterlegt.
Jetzt zu meiner Frage: Ist es möglich mit Hilfe dieser Spalte [DS-Autor] den realen Namen anzeigen zulassen.
---------
Eine Tabelle [NL-Nutzer] mit die PS-Nummern [Autor-Nr] und den jeweiligen Autoren-Namen [Autor-Name] habe ich bereits angelegt.
---------
Ich bekommen es aber nicht hin, der Spalte [DS-Autor] oder einer anderen Spalte, in der Tabelle [Erfassung] zu sagen:
Wenn in Spalte [DS-Autor] die PS-Nummer "0815" steht, dann suche in Tabelle [NL-Nutzer] in der Spalte [Autor-Nr] die "0815" und
nehme aus der Tabelle [NL-Nutzer] aus der Spalte [Autor-Name] den Namen "Hr.Mustermann" und
schreibe diesen in die Tabelle [Erfassung] in Spalte [DS-Autor] oder in eine andere Spalte.
-----------
Auf die Tabelle [Erfassung] greife ich mittels unterschiedlicher Abfrage-Tabellen zu,
diese Abfrage-Tabellen zeigen mir fehlerhafte Datensätze an und deren DS-Autoren, aber eben nur mit der PS-Nummer ;-).
=======
Die einzige nahrhafte Antwort war von Teerbaby, aber letzendlich auch keine abschliessende Lösung ;-(.
Am 04.09.08 hat mir Teerbaby folgendes geschrieben:
" Das Auslesen geht mit einer Abfrage (Select) z.B.:
SELECT NL-Nutzer.Autor-Name FROM NL-Nutzer INNER JOIN NL-Nutzer.Autor-Nr = Erfassung.DS-Autor
Damit wird aber noch nichts in die Tabelle geschrieben. Dafür bräuchtest du wohl ein Makro.
Aber du hast noch nicht geschrieben, wie du auf die Tabellen zugreifst? Zeigst du dir die in einem Formular an?
----------
Mit dieser Antwort kann ich nicht viel anfangen, da ich nicht weis: Wo ich die Auslese-Abfrage "hinschreiben" soll?
Ich vermute mal, als Gültigkeitsregel der Spalte [AutorName].
======
In der Hofffnung das mir jetzt jemand hilft, sonnige Grüße aus B.
Gruß Thomas ;-))
Antwort 8 von Marie vom 09.09.2020, 23:51 Options
Hallo Thomas,
ich versteh deine sämtlichen Aufzählungen in Deiner Frage nicht, vielleicht muss ich mich aber da gar nicht näher mit befassen?
Schau doch mal hier:
http://www.supportnet.de/threads/2151104, hilft Dir das weiter??
Gruß marie
Antwort 9 von Thomas14547 vom 10.09.2020, 07:47 Options
Guten Morgen Marie,
erst einmal ein großes Dankeschön das du dich meiner Thematik angenommen hast ;-) ...
Nun zu deinem Tip . . . der hilft mir leider nicht weiter ;-(
was dort beschrieben wird, ist die Vorraussetzung für meine Frage und von mir auch umgesetzt.
Meine Usernamen werden schon in eine Tabelle [Erfassung] geschrieben, nur das dieser Username eine Zahlencode ist, wie z.B. "0815". Herr Mustermann seine Personalnummer ist "0815" und ich möchte nun das in einer weiteren Spalte nicht nur die Nummer "0815", sondern der Name "Herr Mustermann" steht???
d.h. also, ich benötige eine weitere Tabelle in der die Personalnummer dem jeweiligen Namen zugeordnet ist, diese Tabelle heißt [NL-Nutzer].
Jetzt meine Frage: Wie bekomme ich es hin, dass aus der Tabelle [NL-Nutzer] der Name in die Tabelle [Erfassung] geschrieben wird ???
Vielleicht hat es geholfen die Frage noch einmal anders zu formulieren.
?????????
Kannst du mir nun helfen ?
?????????
Gruß Thomas
Antwort 10 von Marie vom 11.09.2020, 00:59 Options
Wenn doch in der Tabelle Erfassung schon der Name drinsteht, dann brauchste doch in einer weiteren Tabelle, in der die zugehörige Persomalnummer steht, nicht nochmal den Namen??
Wozu denn das?? wenn Du den zugehörigen Namen irgendwo brauchst, dann machst Du eine Abfrage über beide Tabellen, dann haste doch den Namen.
Sicher kann ich Dir helfen, sag mal wo Du das beides nun brauchst, dann machst Du dort eine Abfrage als Datenherkunft und keine Tabelle, dann hast Du doch beides.
Also wenn Du nicht klarkommst gleich nochmal melden.
Gruß Marie
Antwort 11 von Thomas14547 vom 11.09.2020, 07:27 Options
Guten Morgen Nachtschwärmerin Marie ;-) ,
Danke für den Tipp, mit der Abfrage über zwei Tabellen,
den ich erst einmal ausprobieren muss... was aber heute morgen leider nicht geht ;-(...
Ich melde mich wieder wenn ich es getestet haben...
Gruß Thomas
Antwort 12 von rolandaa vom 18.09.2020, 23:15 Options
hallo thomas,
grundlegen benötigst du eine tabelle (usertabelle) in der die spalten personalnummer (psnr) und anwender (anw) hinterlegt sind.
ich würde beim start des programmes ein zusätzliches formular (user) als erstes öffnen (kann auch ausgeblendet sein) bei dessen datenherkunft eine abfrage hinterlegt ist.
abfrage: aus der usertabelle -> spalte1 anw, spalte2 psnr -> krterium -> umgebung("username")
anshließend wird in dem formular user die Personalnummer mit dem jeweiligen Anwender angeziegt, vorausgesetzt er ist in der tabelle (usertabelle) hinterlegt.
in deinem eigentlichen formular kannst du in einem textfeld als steuerelementinhalt folgendes hinterlegen:
= Formulare![user]![anw] & ", "& Formulare![user]![psnr]
gruß
rolandaa