Zum Inhalt springen

Werte aus Formularfeld in Tabelle schreiben (Access)


Empfohlene Beiträge

Geschrieben

Hi,

Ich hab eine kleine Frage und zwar, hab ich folgendes Formular:

1180427319_40569.JPG

Nun möchte ich, dass wenn ich auf "Zugang" klicke, er mir die Werte links vom Button unten in die log-Tabelle schreibt (in eine neue Zeile), ich hab schon rumprobiert, aber ich weiss nicht wie ich ihm die Werte übergeben kann.

Dann soll er auch noch die istMenge erweitern, aber das kommt ja vom Code aufs gleiche raus.

Ich hoff doch mal das jemand eine einfach Lösung hat.

Gruss Flo

Geschrieben

Der vermutlich sauberste (und jedenfalls portabelste) Weg ist es, die Werte aus dem Formular in ein SQL-Statement einzubauen, dieses auf die zu Grunde liegende Datenbank abzusetzen und danach einen Requery auf das Unterformular nicht zu vergessen,

Also etwa so (ungetestet):

SQL = "Insert into LOGTABELLE (zugang, wedatum, rechnr, bemerkung) values ("

SQL = SQL & Me!zugang & ", " & Me!wedatum & ", " & Me!rechnr & ", '" & Me!bemerkung & "')"

Currentdb.execute SQL ...

Me.Requery

Ich hoffe du kommst damit weiter

Reinhold

Geschrieben

wenn du einen neuen Datensatz hinzufügen willst dann:


recordset.AddNew

recordset!Spaltenname = Me!Textfeldname

[b]---> hier wiederholen, wenn mehrere Spalten existiren <---[/b]

recordset.update

wenn du einen Vorhandenen Datensatz editieren willst (also er ist schon vorhanden) dann:

if not recordset.bof then

 recordset.movefirst

end if


recordset.find "Spaltenname = ' " & primaerschluessel & " ' "


if not recordset.EOF then

 recordset!Spaltenname = Me!Textfeldname

 recordset.update

else

 exit sub

end if

Die Methode Find setzt einen "Zeiger" auf den Datensatz den Sie gefunden hat. Ist keiner vorhanden, so wird dieser "Zeiger" auf EOF (End of File gesetzt).Dies ist die Position hinter dem letzten Datensatz. wenn du einen Datensatz suchst, der vorhanden ist und zwei oder mehrere Kriterien erfüllen muss, dann musst du die Filter-Methode einsetzten:

 recordset.filter = "Suchkriterium = ' " & nummer1 & " ' AND Suchkriterium2 = ' " & nummer2 & " ' "


if not recordset.bof and not recordset.eof then

 recordset.movefirst


 recordset!Spaltenname = Me!Textfeldname

 recordset.update

end if


[b]Nicht wergessen den Filter wieder auf "" zu setzten. Weil sonst das Recordset nur diesen einen Datensatz (oder mehrere) in dem Recordset hat, aber nicht alle[/b]


 recordset.filter = ""

Mit freundlichen Grüßen

Chris86

Geschrieben

Hi,

Danke an alle für die Hilfe, ich habs nun per SQL-Statement realisiert und es funktioniert wunderbar.

Gruss Flo

Geschrieben


recordset.find "Spaltenname = ' " & primaerschluessel & " ' "

Wenn du den "primaerschluessel" verwenden kannst, dann ist es aus Performancegründen besser, die Methode SEEK zu verwenden.

Siehe auch FAQ 6.10

Reinhold

Geschrieben

Hi Reinhold.

Die Datenbank wird nie wirklich groß werden, daher denke ich, ist es zu vernachlässigen, aber danke für den Hinweis.

Gruss Flo

Geschrieben

Die Datenbank wird nie wirklich groß werden, ...

Klar, bei 100 Datensätzen geht sowieso alles, aber wozu braucht man dann eine Datenbank? Wenn ich dich (bzw. deinen Screenshot) richtig verstanden habe, dann geht es doch um Lagerbewegungen. Dann ist das praktisch eine endlose Tabelle, die immer größer wird. Täusch dich mal nicht, was da im Laufe von Jahren zusammen kommt. Falls es aber kaum Lagerbewegungen gibt, dann braucht dein Anwender auch keine Lagerverwaltung (die aus sozialen, nicht aus (programm-)technischen Gründen, in der Praxis sowieso kaum jemals funktioniert).

..., daher denke ich, ist es zu vernachlässigen, aber danke für den Hinweis.

Der Hinweis SEEK statt FIND ging auch an Chris86.

Reinhold

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...