Hallo,
ich habe einmal mehr eine Frage bezüglich einer Abfrage.
Ich habe mir bisher eine Abfrage erstellt, die auch wunderbar funktioniert. Die Abfrage über die TempVar funktioniert ohne jegliche Probleme.
Diese Abfrage zeigt mir von den Verkäufen nur diese an, die nicht auf Raten, sondern als "Cash Sale" direkt verkauft wurden, gefiltert nach der Branch und dem Produkt (die über TempVars in einem Auswahlformular ausgewählt werden können).
Soweit so gut: Bis hierhin funktioniert alles.
Nun will ich das für mich essentielle Datums-Kriterium hinzufügen. Dieses Datums-Kriterium ist relativ kompliziert und verknüpfte DatAdd mit DatDiff-Funktionen. Dies hat aus mir nicht verständlichen Gründen nicht funktioniert.
Ich habe mich daher entschlossen, das Ganze zu vereinfachen und als Probe ein einfaches Datumskriterium mit DatAdd bei SA_Sales.SalesDate hinzuzufügen. (In der Entwurfsansicht) zum Beispiel:
DatAdd('t'; 100; Datum())
Dies habe ich mit Gänsefüßenund in einfachen Anführungsstrichen und mit "=" und ohne versucht. Eigentlich müsste mir genau ein Datensatz dann anzeigen in der Abfrage. Aber es wird keiner angezeigt (ohne Fehlermeldung).
Anbei ein Screenshot von der funktionierenden Abfrage OHNE Datumskriterium mit den drei angelegten Datensätzen. Dort sind man auch das Verkaufsdatum, bei dem ich ein Abfrage-Kriterium einfügen möchte.
Anbei der SQL-Code der funktionierenden Abfrage OHNE dATUMSKRITERIUM.
SELECT SA_Sales.SalesID, SA_Sales.CustomerID, SA_Sales.CustomerName, SA_Sales.SalesDate, WH_ItemsT.ItemName, SA_Sales.Branch, SA_Sales.Product, SA_Sales.RepaymentPlan, WH_ItemsT.CashSale
FROM WH_ItemsT INNER JOIN (SA_Sales LEFT JOIN SA_Retakes ON SA_Sales.SalesID = SA_Retakes.SalesID) ON WH_ItemsT.ItemID = SA_Sales.Product
WHERE (((SA_Sales.Branch) Like [TempVar]![BranchCF] & ('*')) AND ((SA_Sales.Product) Like [TempVar]![ProductCF] & ('*')) AND ((SA_Sales.RepaymentPlan)="Cash Sale") AND ((SA_Retakes.SalesID) Is Null));
Ich wäre euch sehr dankbar für eure Hilfe.
Viele Grüße und ein schönes Wochenende,
Marcus
Hallo,
aus Deiner Beschreibung kann ich nicht erkennen wie das Datumskriterium aufgebaut sein soll, bzw. was Du mit dem Kriterium erreichen willst.
HAllo,
villeicht hilft das:
http://www.donkarl.com?FAQ6.8
prinzipiell weiter..
Ansonsten gibt es in den Beispiel-DS kein Datum, das
DatAdd('t'; 100; Datum())
entsprechen würde.
Die Where-Condition (SQL-Ansicht) sollte dann etwa so aussehen:
WHERE (((SA_Sales.Branch) Like [TempVar]![BranchCF] & ('*')) AND ((SA_Sales.Product) Like [TempVar]![ProductCF] & ('*')) AND ((SA_Sales.RepaymentPlan)="Cash Sale") AND ((SA_Retakes.SalesID) Is Null)
And SalesDate = DateAdd("d", 26, Date()) )
für den DS mit Salesdate 07.04.2016 auf den heutigen Tag (12.03.2016) bezogen
::) ::) ::) ::) ::)
Hm...ich gehe besser nicht auf das obenstehende mehr ein...schwerster Denkfehler.
Entschuldigt bitte!