Hallo,
ich habe eine kurze theoretische Frage (und weiß nicht so recht, wo ich die hinpacken soll):
Ich habe eine Abfrage erstellt, die mir den Status von jedem Lagerhaus anzeigen lässt - sprich, wieviele Produkte sind dort noch.
Nun werden ja in Zukunft weitere Lagerhäuser hinzukommen, weswegen die Abfrage dann doch sehr unübersichtlich wird mit der Zeit. Ich würde daher gerne eine Abfrage erstellen, wo man über TempVars zuerst die Lagerhäuser auswählt, die man gerne einsehen möchte und die dann dementsprechend als Kriterium für die Abfrage genommen werden. Im Bericht soll er mir dann diese Lagerhäuser nur anzeigen.
Ist sowas praktisch möglich?
Anbei mal der SQL-Code für die entsprechende Abfrage:
TRANSFORM Sum(WH_InOut2Q.Amount) AS SummevonAmount
SELECT WH_InOut2Q.ItemName
FROM WH_InOut2Q
GROUP BY WH_InOut2Q.ItemName
ORDER BY WH_InOut2Q.ItemName DESC
PIVOT WH_InOut2Q.WarehouseName;
Diese Abfrage basiert wiederum auf de Abfrage WH_InOut2Q. Der Code zu ihr ist folgender:
SELECT WH_Warehouses.WarehouseName, WH_ItemsT.ItemName, WH_MovingsT.Amount
FROM WH_ItemsT INNER JOIN (WH_Warehouses INNER JOIN WH_MovingsT ON WH_Warehouses.WarehouseID = WH_MovingsT.Destination) ON WH_ItemsT.ItemID = WH_MovingsT.ItemID;
UNION ALL SELECT WH_Warehouses.WarehouseName, WH_ItemsT.ItemName, -[WH_MovingsT].[Amount] AS Amount
FROM WH_ItemsT INNER JOIN (WH_Warehouses INNER JOIN WH_MovingsT ON WH_Warehouses.WarehouseID = WH_MovingsT.Departure) ON WH_ItemsT.ItemID = WH_MovingsT.ItemID;
Ich wäre euch dankbar für einen kurzen Input.
Danke und viele Grüße,
Marcus
Ja, man kann TempVars als Argument für eine Abfrage nehmen.
Es muss einem nur klar sein, dass man bei gespeicherten Abfragen eine Funktion benötigt um auf die Daten Bezug zu nehmen. Also einfach eine Funktion schreiben, die die Ergebnisse der TempVars zurückliefert. Das geht dann natürlich genauso mit einem Objekt, irgendeiner Variable usw.
Im Gegensatz dazu benötigt man in einer Ad-hoc Abfrage nicht unbedingt eine Funktion als Schnittstelle. Da kann man dann alles ganz simpel einbinden.
LG Markus
Hallo,
Zitat
Es muss einem nur klar sein, dass man bei gespeicherten Abfragen eine Funktion benötigt um auf die Daten Bezug zu nehmen.
Das ist nicht ganz richtig.. Tempvars-Elemente sind auch direkt in Abfragen einsetzbar ohne Umweg über eine Public-Funktion.
(Ausnahme: Kreuztabellenabfrage)
Zitat
Ich würde daher gerne eine Abfrage erstellen, wo man über TempVars zuerst die Lagerhäuser auswählt, die man gerne einsehen möchte und die dann dementsprechend als Kriterium für die Abfrage genommen werden.
Obwohl Tempvar(iablen) teilweise in Abfragen geeignet sind, empfehle ich, den SQL-String mittels VBA zusammenzusetzen und im Fall von Berichten der entspr. Berichtsabfrage (SQL-Eigenschaft) zuzuweisen.
ZitatTempvars-Elemente sind auch direkt in Abfragen einsetzbar ohne Umweg über eine Public-Funktion.
Cool, das geht tatsächlich.
LG Markus