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
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?
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
Hallo Andreas,
Besser du zeigst uns den SQL-String der Abfrage.
gruss ekkehard
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;
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
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).
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.