Hi,
ich benötige in folgenden Fall einmal eure Hilfe.
Wenn ich ein Formalar öffne (über Button) soll künftig zuerst ein Fenster erscheinen, in dem ich meinen Namen eingeben muß. Danach öffnet sich das hauptformular und mit jeder Datensatzbearbeitung soll dieser eingeloggte Name in der Tabelle in der Spalte "Name" automatisch übernommen werden. Ich tu mich irgendwie jetzt schwer
braucht keine komplizierte Benutzeranmeldung mit Passwort oder so sein
lieben Dank
M.arko
Hallo,
eine der Möglichkeiten:
Erstelle in deinem Projekt ein Standardmodul.
In diesem Modul erzeugst du mittels...
Public strName As String
...eine öffentliche Variable für die Aufnahme deines Namens.
Dann Öffnest du dein Hauptformular im Entwurfsmodus und erzeugst eine Ereignisprozedur für das FORMULAREREIGNIS 'Beim Laden'
In diese stellst du dann folgende Zeile:
strName = Inputbox("Bitte den Namen eingeben")
Damit wird beim Laden des Hauptformulars der Name abgefragt.
Weiter sorgst du dafür, dass sich der Primärschlüssel der Datenherkunft deines Formulars als Textbox am Formular befindet (kann ausgeblendet werden)
Als Nächstes erzeugst du eine Ereignisprozedur für das FORMULAREREIGNIS 'Nach Aktualisierung'
Hier gibst du dann folgende Zeilen ein:
Dim lngID As Long
lngID = Me!DeinIDFeld
CurrentDB.Execute "UPDATE DeineTabelle SET DeinNamensfeld='" & strName & "' WHERE DeinIDFeld=" & lngID
Beachte bitte, dass mit diesen Codes KEINE Fehler abgefangen werden (Leere Inputbox oder Falsche Eingaben)
Weiter achte darauf, dass für Feldnamen etc. KEINE wie auch immer geartete reservierten Worte, Leer- oder Sonderzeichen verwendet werden (Name ist ein solches!)
HTH
Hallo,
Anstatt Inputbox kannst du auch direkt ein kleines Formular basteln wo nicht viel mehr darauf ist als ein Textfeld und ein OK Button. Das hat den Vorteil das du die Eingaben vor Fehleingaben absichern kannst.
'Den OK Button gibst du ein Klick Ereignis, das den Inhalt des Textfeldes in eine globale Variabel überträgt und das Hauptformular öffnet.
Der Rest ist wie bei database.
'Zudem: Nicht die Bezeichnung "Name" verwenden, da das von Access vorbelegt ist.
Grüße
T.
Hallo,
@T417
ZitatDas hat den Vorteil das du die Eingaben vor Fehleingaben absichern kannst
...und was hindert mich daran das nach der Eingabe in die Inputbox zu tun? ;) ::)
habe zudem darauf hingewiesen...
ZitatBeachte bitte, dass mit diesen Codes KEINE Fehler abgefangen werden (Leere Inputbox oder Falsche Eingaben)
@database: Ist mir schon klar.
Aber es ist sicherlich besser wenn man Falscheingaben von Anfang an nicht zulässt.
Außerdem ist die Formularlösung konfortabler und flexibler, je nachdem was man machen will.
das ging ja flott, cool! Danke euch beiden, ich werde es so testen :)
@T417
ZitatAber es ist sicherlich besser wenn man Falscheingaben von Anfang an nicht zulässt
Wo steht denn geschrieben, dass das bei einer Inputbox nicht möglich ist?
Es gibt doch keinen Zwang fehlerhafte Zeichenkobinationen in die Tabelle zu übertragen nur weil eine Inputbox im Spiel war.
ZitatAußerdem ist die Formularlösung konfortabler und flexibler, je nachdem was man machen will.
Er will einen Namen erfassen und den danach in den aktuell bearbeiteten DS übergeben.
Also denke ich mal, dass es dabei mit Flexibilität nicht recht aufwändig zugehen muss.
Freilich hat die Inputbox graphische Mängel aufzuweisen und bietet keine Eingabevalidierung dennoch habe ich die Möglichkeit zu überprüfen ob überhaupt was eingegeben wurde, ob die Eingabelänge passt ob Buchstaben oder Zahlen eingegeben wurden etc.
Danke dir aber trotzdem dass du versuchst mich aufzuklären ... ;) ;D
@database: Ich will dich hier weder aufklären und ich will hier auch nicht stundenlang rumdiskutieren.
Die Formularlösung hat einige Vorteile(Design,Fehlerabsicherung,ggfs Korrektur) Man kann das ganze also wunderbar konfortabel und flexibel gestalten.
Warum du so abwertend gegen dieser Lösung stehst möchte ich schon wissen.
Mir ist auch an keiner Diskussion gelegen.
Für den gegenständlichen Fall ist es m.E. ausreichend einen Namen per Input zu erfassen.
Wäre ich andere Meinung gewesen, hätte ich ein Form vorgeschlagen.