Datum sorteren gaat fout

Status
Niet open voor verdere reacties.

barendrecht82

Gebruiker
Lid geworden
24 mrt 2013
Berichten
230
Hoi,

hieronder de sql die ik toepas.

als ik naast deze sql een nieuwe totaal query bouw en sorteer op Expr3 (Format([ReportingDate],"mm\/yyyy") dan sorteert hij alsvolgt:


01/2007 138324,32
01/2008 147467,85
01/2009 76118,03
01/2010 11835,08
01/2011 420823,11
01/2012 -22963,35
01/2013 -11769,69
01/2014 537878,38
01/2015 -280197,92
01/2016 105888,22


IPV

01/2008 147467,85
02/2008 76118,03
03/2008 11835,08

enz

Code:
SELECT Val([reknr]) AS Rekeningnr, dbo_grtbk.oms25_0, Sum(([amountdcdebit])-([amountdccredit])) AS saldo, dbo_GeneralLedgerBalances.Journal, dbo_GeneralLedgerBalances.ReportingDate, Format([ReportingDate],"mm\/yyyy") AS Expr3
FROM dbo_grtbk LEFT JOIN dbo_GeneralLedgerBalances ON dbo_grtbk.reknr = dbo_GeneralLedgerBalances.GeneralLedger
GROUP BY Val([reknr]), dbo_grtbk.oms25_0, Year([Reportingdate]), Month([ReportingDate]), dbo_GeneralLedgerBalances.Journal, dbo_GeneralLedgerBalances.GeneralLedger, dbo_GeneralLedgerBalances.ReportingDate, Format([ReportingDate],"mm\/yyyy")
HAVING (((Val([reknr]))=10410000) AND ((dbo_GeneralLedgerBalances.Journal)<>"90" And (dbo_GeneralLedgerBalances.Journal)<>"95") AND ((dbo_GeneralLedgerBalances.ReportingDate)<=Now()));
 
Dat is geen probleem, maar volslagen natuurlijk gedrag van je query. Je sorteert namelijk op een tekstveld dat wordt gemaakt door deze opdracht: Format([ReportingDate],"mm\/yyyy") AS Expr3. En tekstvelden sorteren nu eenmaal alfanumeriek en niet numeriek. Ik snap ook niet waarom je die periode in één veld wilt hebben, maak er twee velden van, één voor het jaar en één voor de maand. Of sorteer op het datumveld dat je ook in de query hebt. of zo:
PHP:
SELECT [reknr], dbo_grtbk.oms25_0, Sum(([amountdcdebit])-([amountdccredit])) AS saldo, dbo_GeneralLedgerBalances.Journal,
dbo_GeneralLedgerBalances.ReportingDate, Format([ReportingDate],"mm\/yyyy") AS Expr3
FROM dbo_grtbk LEFT JOIN dbo_GeneralLedgerBalances ON dbo_grtbk.reknr = dbo_GeneralLedgerBalances.GeneralLedger
GROUP BY [reknr], dbo_grtbk.oms25_0, Year([Reportingdate]), Month([ReportingDate]), dbo_GeneralLedgerBalances.Journal,
dbo_GeneralLedgerBalances.GeneralLedger , dbo_GeneralLedgerBalances.ReportingDate, Format([ReportingDate], "mm\/yyyy")
HAVING ([reknr] = 10410000 And dbo_GeneralLedgerBalances.Journal) <> "90"
And dbo_GeneralLedgerBalances.Journal<>"95" AND dbo_GeneralLedgerBalances.ReportingDate)<=Now())
ORDER BY Year([ReportingDate]), Month([ReportingDate]);
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan