Microsoft Access Ausdruck syntaktisch falsch

5 Antworten

Also wenn Du die Zahlen in Anführungszeichen setzt, sind die vom Typ String (Text), und die Felder sind aber von Typ Zahl. Einfach die Anführungszeichen weglassen.

Und Du solltest auf True/False oder äquivalent auf -1/0 prüfen, nich auf den nachträglich ins Deutsche übersetzten Text "Ja"...

Und Du hast Da stehen "Ja/Nein" und ein Slash IST ein Sonderzeichen, aus dem Grund hatte ich gefragt. Keine Sonderzeichen in irgendwelchen Bezeichnungen... Auch wenn das anfänglich keinen Fehler verursacht, irgendwann auf einmal funktioniert was nicht und Du suchst lange nach der Ursache, weil Du nicht drauf kommst, daß es ein Problem in einem Namen ist, den Du schon seit Wochen unverändert benutzt...

Und was genau enthält die Aufgabenstellung in Zusammenhang mit Aktualisierungsabfragen? Egal, was es ist, kann ich mir nicht denken, daß es DAS ist, weil das ist ein falscher Lösungsansatz: Überflüssiges Tabellenfeld und obendrein noch fehlerträchtig, sowas wird man kaum als Ergebnis einer Arbeit fordern? Als würdet Ihr bei einem Diktat die Vorgabe bekommen, das Wort "und" am Ende immer mit einem t statt einem d zu schreiben...

Hallo Masterman,

probier mal dies:

Wenn([Haken]="1";"2";Wenn(DatTeil("jjjj";Datum())-[Tabelle1]!DatTeil("jjjj";[Datum])>2;"2";"1"))

Ist DatTeil richtig? Ich arbeite mit der englischen Version von Access, das extrairt man in VBA das Jahr mit year(Datum) Meines Wissens nach ist VBA in allen Sprachversionen gleich. Also:

Wenn([Haken]="1";"2";Wenn(Year(Datum())-Year([Tabelle1]![Datum])>2;"2";"1"))

Außerdem würde ich nie ein Feld mit einer Systemvariable (z.B. Datum) benennen, damit programmierst Du Probleme. Also Datum besser in Anfangsdatum, Enddatum oder sonst was umbenennen. In VBA habe ich mir angewöhnt Variablen immer mit einem M vorne dran zu benennen (MDatum), unbound Text-, Combo und Listboxen setze ich ein "F" (für Form) vor den Namen.

Hilft das?

Gruss,

Cholo

Was möchtest Du wissen?