Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fehler in Abfrage " Datentypenkonflikt in Kriterienausdruck"

Begonnen von AnAndreas, August 23, 2018, 10:29:54

⏪ vorheriges - nächstes ⏩

AnAndreas

Hallo mal wieder ,

Ich habe eine standard Abfrage erstellt wo aus einer normalen Tabelle abgefragt wird :
Siehe Anhang. Nun zu meinem Problem. Um das Feld Anz_Einh zu filtern nach > oder < habe ich das Feld bzw dessen Inhalt in eine Zahl umgewandelt. Ohne Filter wird mir auch alles angezeigt. Sobald ich aber den Filter <100 als Kriterium setzte meckert beine DB. Ich habe geprüft ob irgend welche falschen Werte in der Spalte sind usw . Finde aber einfach den Fehler nicht.

Danke im Voraus mal wieder für eure Hilfe

Lachtaube

Wenn man schon ein Feld mit Einheiten hat, sollte doch ein Feld mit einer Angabe einer Menge (Anzahl) von Hause aus numerisch sein - warum ist das nicht so in dieser Tabelle?
Grüße von der (⌒▽⌒)

AnAndreas

Kann ich ehrlich gesagt gar nicht mehr sagen ist schon zu lange her.
Was allerdings nicht mein Problem löst und die Frage offen lässt warum so ein "einfacher" Schritt nicht funktionieren will


LG

Beaker s.a.

Hallo Andreas,
Besser du zeigst uns den SQL-String der Abfrage.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

AnAndreas

Hi

SELECT Warenausgang.Datum, Warenausgang.Einheit, Warenausgang.Stueckgut, Warenausgang.Abteilung, Val([Anz_Einh]) AS Zahl
FROM Warenausgang
WHERE (((Warenausgang.Datum)>#1/1/2018#) AND ((Warenausgang.Einheit)="m³") AND ((Warenausgang.Stueckgut)=False) AND ((Warenausgang.Abteilung)="GP") AND ((Val([Anz_Einh]))<100))
ORDER BY Warenausgang.Datum;

Beaker s.a.

Hallo Andreas,
Hm, als erstes würde mir einfallen, dass SQL wohl nicht weiss wo das
Feld "Anz_Einh" herkommt. Obwohl ich dann eigentlich eine Parameter-
anfrage oder einen Fehler erwarten würde.
Muss ich leider passen.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Ich würde mal schauen, was bei ein paar verschiedenen Inputs aus der Val-function ausgegeben wird.
Im VBA-Direktfenster:
? Val(NULL)
? Val("")
? Val("0,5")
? Val("1.500")

Möglicherweise entsprechen nicht alle Ergebnisse deinen Erwartungen. Vielleicht wäre CDbl die geeignetere Funktion, wenn du NULL ausschließen oder durch einen anderen Wert ersetzen kannst (Siehe NZ).
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

DF6GL

Hallo,

die grundlegende Frage wäre (Lachtaube hat's ja schon angedeutet), welchen Datentyp das Feld "Anz_Einh"  in der Tabelle hat.

Ist es nicht numerisch (Long oder Double), ist es in einen dieser beiden Datentypen umzustellen, je nach Erfordernis.

Zitatwarum so ein "einfacher" Schritt nicht funktionieren will

Wenn man sich in Access nicht strikt an die der  Realität entsprechenden Datentypen hält,  braucht man sich da nicht zu wundern.