Ich habe 4 Speicher auf verschiedenen Ebenen. (Speicher A, Speicher B, Speicher C, Speicher D). Die Geschäfte halten die Gegenstände. (Artikel 1, Artikel 2, Artikel 3, Artikel 4 und Artikel 5).Schwierigkeiten beim Abrufen des vorherigen Abfragedatensatzes
Ich habe 3 Tabellen (Artikel-Tabelle, speichern Tabelle, Tracking Table) und 1 Abfrage ( Store_rec query for Item2 in Store B).
Tracking-Tabelle hat Spalten (ID, T_Datum, Artikel_ID, Artikel_Name, Store_From, Store_To, Menge, Bemerkung).
Store_rec Abfragetabelle ist die Überprüfung der Änderungen eines Artikels in einem Store (in meinem Fall - Artikel 2 in Store B). Es hat 5 Spalten (SrNo, T_Date, Location_To/Aus (von B zu anderen/von anderen B), Empfangene (B Balance zu erhöhen) und Versand (B Balance Abnahme)
Meine Probleme sind:.
I SrNo nicht sortieren können, um ohne Beeinträchtigung der Zeilennummer T_Date
ich eine Balance Spalte in Store_rec Abfrage hinzufügen möchten, wie im Bild gezeigt (Balance = Zurück Balance + Empfangene in steigend -.. Versand)
Ich suchte in Google, las in Foren, Tutorials und Beispielen, kann aber immer noch nicht mein Problem lösen.
Bitte helfen.
SELECT (
SELECT COUNT(aa.[ID]) + 1
FROM Tracking AS aa
WHERE (
t.[Store_From] = "Store B"
OR t.[Store_To] = "Store B"
)
AND aa.[ID] < t.[ID]
) AS SrNo
,t.T_Date
,IIf(t.[Store_To] = "Store B", t.[Store_From], t.[Store_To]) AS [Location_To/From]
,IIf(t.[Store_To] = "Store B", t.[Amount], 0) AS Received
,IIf(t.[Store_From] = "Store B", t.[Amount], 0) AS Dispatched
FROM Tracking AS t
WHERE (
t.[Store_From] = "Store B"
OR t.[Store_To] = "Store B"
)
AND t.[Item_Name] = "Item 2"
ORDER BY t.[T_Date];
bekam ich die Fehlermeldung "Syntaxfehler (fehlender Operator) in Abfrageausdruck 'CASE WHEN Store_From = 'Shop B' THEN Store_To ELSE Store_From END AS Location_To'". Also habe ich VBA-Code versucht. Tmp-Abfrage erstellen ist OK. Aber ich habe Fehlermeldung in VBA-Code, um 'Store_rec Abfrage' zu erstellen. Fehler in "" SELECT T1.Location_To, T1.Received, T1.Dispatched, SUM (T.Dispatched) als RemainingBal FROM Tmp AS T1 LINKER JOIN (SELECT ISNULL ((-CAST (ausgelöst als INT) + CAST (empfangen AS INT)), 0) AS Dispatcht, ID FROM Tmp) AS T auf T.id <= T1.id GROUP BY T1.Location_To, T1.Dispatched, T1.Received "' –