hallo access-2007-gemeinde,
gibt es hier im forum bereits ein thema welches sich mit folgendem beschäftigt?
ich möchte das datum der datensatzanlage und die benutzerinitialen für den angelegten datensatz in einem tabellefeld hinterlegen.
geht das überhaupt in einer tabelle?
sind das access-standards?
danke und grüße, alex
Hallo,
wo kommen die Benutzerinitialen her?
Ich stelle mir vor, dass die Initialen aus Access-Optionen/Allgemein/Initialen "abgegriffen" werden können. Zumindest habe ich keine bessere Idee.
Somit soll sichergestellt werden, dass jeder der Datensätze anlegt oder änder in einer Art Log-Report identifizierbar ist.
Hallo,
die Initialen sind von dem, der die DB erstellt hat, diese sind also bei jedem Nutzer gleich und können daher nicht verwendet werden.
Du musst den Windowsbenutzer auslesen.
Welche Access Version benutzt Du ?
Hallo,
den Windows-Anmeldenamen kannst du ermitteln wie im untenstehenden Link zu sehen:
http://access.mvps.org/access/api/api0008.htm (http://access.mvps.org/access/api/api0008.htm)
Die obige Funktion stellst du in ein Standardmodul.
Eintrag in die Tabelle dann etwa so
INSERT INTO DeineTabelle (DeinFeld) VALUES('" & fOSUserName & " " & Date & "')")
fOSUserName wäre der Funktionsname aus dem Link
Ich verwende Access 2010.
Hallo,
Antwort #4 gelesen und getestet?
Im Anhang ein vereinfachtes Beispiel
so?
Nein,
du müsstest da per VBA lösen.
Schau dir mein Beispiel an, da ist es ganz einfach gelöst, das Feld für den Usernamen blendest du am Formular einfach aus - Einstellung Feldeigenschaften 'In Reihenfolge = Nein' und das Feld ganz klein machen.
Wohl zu weit weg von Access...
Ich habe jetzt "herausgefunden" das ein Formular nötig ist => Formular angelegt.
Ich habe jetzt "herausgefunden" das ein Formular_klassenobjekt nötig ist => Klassenobjekt angelegt.
Nach dem kopierten Code der Beispiel DB das Feld der Tabelle und des Formulars umbenannt in "DatenSchreibt".
Und nun mit meinem Latein am Ende.
Was muss ich jetzt wo und wie noch verknüpfen damit es wie in der Beispiel DB funzt?
Danke
Hallo,
lade deine DB hier hoch Access2003 !!!, vorher konvertieren.
Ist die Konvertierung hier im Forum irgendwo angepinnt?
Ich habe über die Suche (auch extern) nur tonnenweise Infos zur Aufwärtskonvertierung gefunden. Nichts Brauchbares von 2010 auf 2003.
Gibt es da ein Tool für?
Alex
Hallo,
das "Tool" kennt A2010 selber..:
Datei/Speichern und Veröffentlichen/....
ok, das hab ich finden können und gemacht.
Mir fällt aber auf, dass mein Formular weg ist...???
Außerdem ist sie größer als 300kb (max. erlaubt für Dateianhänge)
gezipt gehts...
aber wo verstekt sich das Formular???
Hallo,
das Formular ist doch da, wo es hingehört... ;)
siehe Anhang
Schön, wenn etwas klappt...
@@@
Hallo MzKlMu meine DB steht nun zur Analyse bereit ;)
Danke und Grüße, Alex
Und, hast Du das Ding nicht mal angesehen?
Die anfänglich gestellte Frage ist doch in der DB gelöst...
Hallo,
wenn du das Feld 'DatenSchreibt' mit dem Benutzernamen, dem Datum und Uhrzeit befüllen willst, brauchts indem von mir übernommenen Code ein kleine Änderung!
Private Sub Menge_AfterUpdate()
Das Schreiben der Werte wird in meinem Beispiel ausgelöst, wenn das Feld Menge nach der Dateneingabe aktualisiert wird.
Dieses Feld 'Menge' gibt's ja auf deinem Formular nicht - also suchst du dir ein passendes Feld aus und änderst obige Zeile entsprechend.
Wenn du das Ganze ohne VBA lösen willst, dann kannst du auch den Vorschlag von Franz erweitern und als Standardwert für
das Feld 'ErfasstVon' folgendes eintragen: =fOSUserName() & " " & Datum() & " " & Zeit()
Das Feld 'DatenSchreibt' benötigst du dann allerdings nicht mehr.
Hallo Peter,
mühsam ernährt sich ... usw.
Habe jetzt die Fälligkeit zum "Taktgeber" gemacht.
Jetzt wird allerdings nur Datum und Zeit geschrieben.
Der Benutzer ist "abhanden" gekommen.
Was nun?
Hallo,
kann nicht abhanden kommen ... ;)
Hast du die Funktion fOSUserName in einem Modul gespeichert und ist sie 'Public' deklariert?
Hast du so wie unten beschreiben...
ZitatWenn du das Ganze ohne VBA lösen willst, dann kannst du auch den Vorschlag von Franz erweitern und als Standardwert für
das Feld 'ErfasstVon' folgendes eintragen: =fOSUserName() & " " & Datum() & " " & Zeit()
... dem Feld die obige Formel als Standardwert eingetragen oder löst du das jetzt doch per VBA?
Dann muss im Ereignis 'Nach Aktualisierung' des Feldes 'Fälligkeit' folgendes eingetragen werden:
Me.ErfasstVon = fOSUserName & " " & Date & " " & Time