Ich habe Schwierigkeiten mit einer MS Access 2010 Abfrage. Ich habe eine Tabelle, die die folgenden Felder grob hat: ID (AutoIncrement), acres (Anzahl), VOLUME (Anzahl), BEGIN_DATE (Datum/Uhrzeit), CONTRACT_AMT (Währungs), COLLECTED_AMT (Währung).MS Access Abfrage zurückgeben 0 Anzahl in Abfrage
Ich habe dann eine Abfrage-Tabelle, die ein Feld mit dem Geschäftsjahr berechnet (1. Juli - 30. JUNI) des BEGIN_DATE mit diesem Ausdruck:
FYBegin: IIf([CalendarMonthBegin] Between 7 And 12,[CalendarYearBegin]+1,
[CalendarYearBegin])
Was ich jetzt tun muß, ist eine Abfrage erstellen, zählt die IDs und summiert das Volumen, die Hektarzahl, den Vertrag und die gesammelten Beträge in diesem Geschäftsjahr.
Ich habe die folgende VBA-Funktion das laufende Geschäftsjahr zu erhalten:
Public Function GetCurrentFiscalYear(ByVal CurrentDate As Date)
'Returns the current fiscal year for CurrentFY_Summary query
Dim yearToday As Integer
Dim monthToday As Integer
Dim currentFiscalYear As Integer
yearToday = Year(CurrentDate)
Debug.Print (yearToday)
monthToday = Month(CurrentDate)
Debug.Print (monthToday)
If monthToday > 6 And monthToday < 13 Then
currentFiscalYear = yearToday + 1
Debug.Print (currentFiscalYear)
Else
currentFiscalYear = yearToday
Debug.Print (currentFiscalYear)
End If
End Function
Aber wenn ich versuche eine andere Abfrage mit dem folgende SQL zu erstellen:
SELECT Count(FiscalYear.ID) AS [Count of Records], Sum(FiscalYear.ACRES) AS
[Sum Of ACRES], Sum(FiscalYear.VOLUME) AS [Sum Of VOLUME],
Sum(FiscalYear.CONTRACT_AMT) AS [Sum Of CONTRACT_AMT],
Sum(FiscalYear.COLLECTED_AMT) AS [Sum Of COLLECTED_AMT]
FROM FiscalYear
WHERE (FiscalYear.FYBegin) = GetCurrentFiscalYear(Now());
bekomme ich nur ein 0 in das Zählfeld und keine anderen Datensätze. Ich kann visuell sehen, dass Datensätze den Kriterien entsprechen, und ich habe das unmittelbare Fenster verwendet, um zu überprüfen, ob die VBA-Funktion das korrekte Geschäftsjahr und als Ganzzahl zurückgibt. Was ist an der SQL-Anweisung und/oder VBA-Funktion falsch?
Vielen Dank.
Das hat den Trick gemacht. Vielen Dank. – tpdance