Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Laufzeitfehler trotz richtiger Funktion

Begonnen von hanskuhn, Oktober 04, 2010, 11:10:00

⏪ vorheriges - nächstes ⏩

hanskuhn

Hallo,

ich bekomme von Access einen Laufzeitfehler 2471 bei folgender Zeile:

dblGesamt = Nz(DLookup("[SWZGesamt]", "[qryStromkosten]", "YEAR(NKVon) = " & intJahr & " AND SWZStromZählerIDRef = " & Nz(Me!cmbZähler, 0) & ""), 0)


Es liegt allerdings nicht an der Aggregatfuntkion, Ausdruck und Kriterium werden von Access vor der Fehlermeldung auch nicht geprüft. Er sagt mir in dieser Zeile lediglich: "Der Ausdruck, den Sie als Abfrageparameter eingegeben haben, hat folgenden Fehler verursacht: Forms.frmX.SteuerlementX"
Diesen Abfrageparameter habe ich allerdings gar nicht (mehr) in meinem Code.
Vorher kommen lediglich Variablenzuweisungen. Das SteuerlelementX existiert zwar in meinem frmX, ihm wird allerdings weder ein Wert zugewiesen, noch einer abgefragt. Was kann denn da falsch laufen?

Gruß, Hans

database

Hallo,

der Laufzeitfehler 2471 weißt daruf hin, dass in der Funktion DLOOKUP was nicht stimmt und so ist es auch!


dblGesamt = Nz(DLookup("[SWZGesamt]", "[qryStromkosten]", "YEAR(NKVon) = " & intJahr & " AND SWZStromZählerIDRef = " & Nz(Me!cmbZähler, 0)), 0)


Versuch das einmal, sollte laufen ...   :)

HTH

Peter

hanskuhn

Ne, das funktioniert leider auch nicht. Er gibt mir die gleiche Fehlermeldung. Es hatte auch schon funktioniert und wenn ich "Datenbank reparieren" ausführe, dann funktioniert es auch erstmal wieder. Allerdings kommt er mir nach einiger Zeit immer wieder mit dieser Fehlermeldung...

database

#3
Hallo,

also dass Access eigenwillig seinkann weiß ich, dass es sich aber verselbsständigt ist mir neu.

Tatsache ist, dass hier   Nz(Me!cmbZähler, 0) & ""), 0)  der Eintrag  & ""  raus soll, das hat keine Relevanz und gehört nicht dahin.

Die DLOOKUP läuft wenn alle Daten übergeben werden (getestet anhand eines eigenen Beispiels)
Die Sache mit deinem Feld X ist dagegen eine andere - wenn du meinst dass dieses im Code nicht mehr vorkommt, kann ich das so nicht ganz glauben, sonst würde Access nicht darüber motzen.

Schau mal alle Abfragen durch - die Schreibweise Forms.frmX.SteuerlementX wäre an sich falsch, da nach Forms ein Rufzeichen stehen müßte. Ich bin fast davon überzeugt, dass das in irgendeiner Abfrage als Kriterium steht oder so im Code eingebaut ist. Besonders die qryStromkosten ist da ein guter Kandidat


Peter




hanskuhn

Du hattest recht. Ich hatte es noch in der Abfrage drin und es übersehen, weil ich den SQL-Code + den Auslöser für die Abfrage im VBA-Code mit drin hatte, die Datensatzherkunft des Forms allerdings noch die qryStromkosten ist.  ::)

Dank dir, database!