Hallo,
?? Gibt es die Tabelle Mitarbeiter? Und steht da neben der
PersNr auch der entspr. Windows-Anmeldename (in einem Feld, z.
B. „Loginname“ ,der mit o. st. Funktion ausgelesen wird) drin?
Der Windows Anmeldename ist bei uns auch gleichzeitig die
Personalnr !!
Ok, kann man nicht wissen, bzw. erkennen, wenn das „Gleiche“ zwei verschiedene Namen bekommt (einmal „Personalnummer“ , zum Anderen „Anmeldename“ )
Also habe ich eine Tabelle Namens „Mitarbeiter“, mit den
Spalten „Personalnummer“ und „Mitarbeiter“
ja, ist ok, und wenn „Personalnumemr“ in der TAbelle das Primärschlüsselfeld ist.
Die PNR kann mit Dlookup etwa so für ein Form-Textfeld
ermittelt werden:
Me!PNR = Dlookup(„PNR“,„tblMitarbeiter“,„Loginname= '“ &
fOSUserName() & „’“)
…Heißt in meinem Fall doch:
Me!Personalnummer=
Dlookup(„Personalnummer“,„Mitarbeiter“,„Personalnummer= '“
&fOSUserName() &"’")
ergibt aber in meinem Fall: #Name?
Es kommt hier noch drauf an, welchen Datentyp „Personalnummer“ hat. Hier ist TEXT angenommen.
Außerdem ist im konkreten Fall die Dlookup-Funktion gar nicht nötig, weil lt. o. st. Definition:
Der Windows Anmeldename ist bei uns auch gleichzeitig die
Personalnr !!
schon durch fOSUserName() geliefert wird. Allenfalls könnte man die Mitarbeiter-Tabelle dazu benutzen um festzustrellen, dass der angemeldete User auch in der Mitarbeitertabelle vorhanden ist, d. h. die Befugnis hat, die DB zu benutzen.
und bevor Du fragst… ich bin in der Tabelle Mitarbeiter auch
drin !
hätte ich jetzt nicht gefragt, weil es sekundär ist, wer alles in der Tabelle eingetragen ist.
was ist da grausig?
Ich verstehe die Begriffe einfach nicht !
da mußt Du halt konkret fragen…
DLookup(Ausdruck, Domäne, [Kriterium]) - Was ist z.B. die
Domäne, ist das meine Tabelle in der nachgeschaut wird oder
die Tabelle wo der Eintrag rein soll ?
„Domäne“ ist die Tabelle oder Abfrage, in der Dlookup nachschaut und dabei das Kriterium benutzt, um den oder die dadurch bestimmten DS zu filtern.
Wenn mehrere DS dem angegebenen Kriterium (das ist genau so wie die Where-Condition in einer Abfrage , bzw. SQL-String, nur ohne das Wort „Where“) entsprechen, dann liefert Dlookup den AUSDRUCK mit den DAten aus dem ERSTEN gefundenen Datensatz.
was ist Ausdruck ?
Ausdruck ist ein „Term“ , der eines oder mehrere Felder miteinander verbindet oder berechnet. Normalerweise gibt man hier nur ein Tabellenfeld an. Man kann aber auch eine Formel (–> Ausdruck) angeben, die dann halt gleich berechnet wird:
Msgbox Dlookup(„Personalnummer & ', ’ & Mitarbeiter“ , „Mitarbeiter“, „Mitarbeiter=‚Christian‘“)
…und da sagst Du, das wäre unverständlich.
Viele Grüße vom Bodensee
Franz, DF6GL