Liebe Experten,
im Augenblick reisse ich mir die Haare aus. Ich kann ein simples Problem nicht im Code lösen:
Access 2007 (oder 2003)
Habe Formular mit der Tabelle 1 aus Datenbank 1 geöffnet.
Nun möchte ich bei einem bestimmten Ereignis einen bestimmten Text (und zwar immer den gleichen, z.B. „Test“) in das Feld A1 der Tabelle 2 schreiben, und zwar im ersten Datensatz.
Folgenden Code habe ich geschrieben:
Dim db As Database, SQL As String
Set db = CurrentDb
Dim ws As Workspace
Dim rs
Dim Festsatz As String
Festsatz = „Test“
Set ws = DBEngine(0)
Set rs = db.OpenRecordset(„Select *from Tabelle2“)
rs.AbsolutePosition = 1
rs.Delete
'Jetzt Datensatz in „Tabelle2“ schreiben:
SQL = „INSERT INTO Tabelle2 (A1) SELECT Festsatz“
db.Execute SQL
Er löscht zwar brav den 1. Datensatz in Tabelle2, bringt aber anschliessend den Fehler 3061: Es wurden 1 Parameter erwartet aber es wurden zuwenig Parameter übergeben
Wer kann mir bei meinem Denkfehler helfen?
Jetzt schon herzlichen Dank.
Beat
aber warum machst du es z.B. nicht einfach so, mit fünf (3)
Zeilen Code:
Public Function XXXX (Festsatz)
Dim MySQL
‚wenn Festsatz ein Text ist:
MySQL = „UPDATE Tabelle2 SET Tabelle2.A1 = '“ & Festsatz & "‘;"
docmd.runSQL MySQL
End Function
Du hattest natürlich völlig recht. So geht es viel einfacher.
Nun habe ich (im Moment) nur noch ein einziges Problem:
Jetzt kommt immer die Meldung, ich wäre daran, einen Datensatz zu aktualisieren. Ob ich denn das wirklich möchte?
Nachdem ich „ja“ sage, macht das Programm auch das, was es soll.
WIE KANN ICH DIESE ABFRAGE ELIMINIEREN?
Du siehst, ohne Deine Hilfe geht es einfach nicht!
Jetzt schon ganz herzlichen Dank für Deine Bemühungen.
Beste Grüsse
Beat
Phuhh, danke Wolfgang.
Das kommt davon, wenn man gezwungen wird, im Access 2007 zu arbeiten. Dann denkt man einfach nicht an diese einfachen Sachen. Im 2003 hätte man ganz logischerweise da nachgesehen. Aber im 2007 ist das an einem völlig andern Ort, wo man nicht automatisch nachschaut, weil es in den normalen Pulldowns gar nicht ist.
Einen Effekt hat Office 2007 ja schon: Plötzlich findet man Programme wie Office 2003 von Microsoft richtig gut und lernt sie zu schätzen…und darum zu trauern. Privat auf jeden Fall würde ich DOWNGRADEN!!! (Wie ich das auch mit Vista gemacht habe. XP Pro ist doch soooo gut. Im Vergleich.
Beste Grüsse in den Norden, und nochmals danke für die Hilfe.
Beat