Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Bollerkohl am November 08, 2012, 19:06:01

Titel: immer aktuellen Username speichern
Beitrag von: Bollerkohl am November 08, 2012, 19:06:01
Hi zusammen,

in einem Unterformular möchte ich in der Spalte User Name den aktuellen User speichern.
Das auslesen des username funktioniert, jedoch wird dieser nicht in der Spalte User Name gespeichert?
Jedesmal wenn ein anderer User (Mitarbeiter) hier einen Eintrag macht werden alle Datensätze mit seinem Username
überschrieben?

Ich habe als Steuerelementinhalt: =fktGetUsername() im ungebundenem Textfeld User Name eingetragen.
Weiterhin das Modul_Username mit folgendem Quelltext erstellt:

Option Compare Database

Public Function fktGetUsername() As String
fktGetUsername = Environ("Username")
End Function

Kann mir bitte jemand weiterhelfen?

Danke Martin
Titel: Re: immer aktuellen Username speichern
Beitrag von: MzKlMu am November 08, 2012, 19:12:24
Hallo,
das kannst Du so nicht machen. Es werden auch nicht alle Datensätze überschrieben, sondern keiner. Im Feld User wird nichts gespeichert.
Das Feld muss an das Tabellenfeld "User" gebunden werden. Es ergibt sich jetzt die Frage, nach welcher Aktion soll der User gespeichert werden?
Nur bei einem neuen Datensatz oder bei einem bestehenden DS, wenn bei einem bestehenden DS bei welcher Änderung in welchem Feld?
Titel: Re: immer aktuellen Username speichern
Beitrag von: Bollerkohl am November 08, 2012, 19:32:42
Hi,

wie kann ich dies machen? Bin nicht so versiert und möchte es auch beim ändern eines DS speichern.

Vielen Dank  :D
Titel: Re: immer aktuellen Username speichern
Beitrag von: MzKlMu am November 08, 2012, 19:55:54
Hallo,
im einfachsten Fall als Ereiegnisprozedur "Nach Aktulisierung eines Feldes das immer geändert wird, z.B. ein Datumsfeld.
Dann so:
Private Sub Feldname_AfterUpdate()
    Me.User = fktGetUsername
End Sub
Titel: Re: immer aktuellen Username speichern
Beitrag von: Bollerkohl am November 08, 2012, 20:14:04
Danke, habe es probiert, irgendwie klappt es nicht  :'(

Kannst du mir ggf. ein kleines Beispiel erstellen? Wäre echt super, kriege bald noch eine Krise mit dieser Urlaubsverwaltung.
Und ein Ende ist auch noch nicht in Sicht.

Danke VG
Titel: Re: immer aktuellen Username speichern
Beitrag von: MzKlMu am November 08, 2012, 20:21:28
Hallo,
Zitatirgendwie klappt es nicht
irgendwie hast Du dann einen Fehler drin.  ::)

Zeige den vollständigen Code und beschreibe genau was nicht funktioniert.
Titel: Re: immer aktuellen Username speichern
Beitrag von: Bollerkohl am November 09, 2012, 19:31:37
Hallo, jetz mein Versuch von gestern:

hier der Code aus dem UF: im Fedl Datum vom

Option Compare Database

Private Sub Datum_von_AfterUpdate()
Me.[User Name] = fktGetUsername
End Sub

In dem Feld wo der Username gespeichert werden soll (Feldname ist: User Name) habe ich nichts geändert.

Nun komme ich hier leider nicht weiter :-(

Danke für eine Unterstützung
Titel: Re: immer aktuellen Username speichern
Beitrag von: MzKlMu am November 09, 2012, 19:39:51
Hallo,
ändere mal wie folgt:

Option Compare Database
Option Explicit '<<< In ausnahmlos jedem Modul einfügen, zwingt zur Variablendeklaration


Private Sub Datum_von_AfterUpdate()
  Me.[User Name] = fktGetUsername
  MsgBox Me.[User Name]
End Sub

Was gibt die MsgBox aus?

Und verwende die Codetags, keine rote Schrift.
Titel: Re: immer aktuellen Username speichern
Beitrag von: Bollerkohl am November 10, 2012, 13:37:35
Hallo und Danke,

es wird egal auf welchem Rechner ich die Einträge mache immer mein Username angezeigt????

Obwohl die Rechner andere Username haben???

Danke VG
Titel: Re: immer aktuellen Username speichern
Beitrag von: DF6GL am November 12, 2012, 10:08:25
Hallo,


ZitatObwohl die Rechner andere Username haben???



Ein Rechner kann keinen Usernamen haben, höchsten seinen RECHNER-Namen....   Vermutlich meldest Du Dich auf den verschiedenen Rechnern mit Deinem Usernamen an (was diesen Effekt erklären würde).


Ansonsten ist die Beschreibung von  MzKLMu bezgl. gebundenem Textfeld zu beachten, wenn der Username in einer Tabelle gespeichert werden soll (und was bei einem Endlosform unbedingte Voraussetzung für die individuelle Darstellung des Usernamens pro Datensatz ist).


Hochladen der DB hier im Forum brächte evtl. schneller Klarheit ins "Dunkel"   ;)
Titel: Re: immer aktuellen Username speichern
Beitrag von: Bollerkohl am November 12, 2012, 12:01:14
Hallo zusammen,

Habe mich vielleicht falsch ausgedrückt, meine Kollegen melden sich mit ihrem Username an, wenn sie aber einträge machen
wird mein Username angezeigt.

Das ist dann schon eigenartig?

Danke VG
Titel: Re: immer aktuellen Username speichern
Beitrag von: DF6GL am November 12, 2012, 13:30:05
Hallo,


lt. dem Code wird der Username erst und nur nach einer Änderung im Feld "Datum_von" eingetragen/geändert.

Wenn der Username nach jeder Änderung an beliebiger Stelle geändert/eingetragen werden soll, dann sollte das Form_BeforeUpdate-Ereignis verwendet werden:

Sub Form_BeforeUpdate(Cancel as Integer)
Me.[User Name] = fktGetUsername
End Sub


Das Formular-Textfeld "User Name"  muss an das entspr. Tabellenfeld gebunden sein (--> Eigenschaft Steuerelementinhalt)


btw: DRINGEND auf Leer- und Sonderzeichen in Namen sowie reservierte Wörter bei der Benamsung verzichten ...