Saldo

Status
Niet open voor verdere reacties.
Je zult met DSum het totaal van het verlof moeten berekenen. Dat ziet er in de query dan zo uit:

Code:
SELECT [Factuur Query].KindNR, [Factuur Query].FactuurNR, [Factuur Query].Verlof, [Factuur Query].FixVerlof, [COLOR=navy][B][Verlof]-nz(DSum("[FixVerlof]","[Factuur]","[KindNR]=" & [KindNR])) AS SALDO[/B][/COLOR]
FROM [Factuur Query]
ORDER BY [Factuur Query].KindNR, [Factuur Query].FactuurNR;

De formule kun je ook op een formulier gebruiken in een tekstvak:

Code:
=[Verlof]-nz(DSum("[FixVerlof]";"[Factuur]";"[KindNR]=" & [KindNR]))

Hallo,

Ik heb de code in de query gezet, maar dan krijg ik volgende error:
"Het opgegeven veld [KindNR] kan naar meer dan een tabel verwijzen in de component FROM van uw SQL-instructie"

Waar moet ik de code zetten als ik in het formulier wil gebruiken?
 
Dan heb je het veld Kindnr in meerdere tabellen staan. In dat geval moet je inderdaad aangeven uit welke tabel het veld moet worden gelezen. Bijvoorbeeld:

Code:
SELECT [Factuur Query].KindNR, [Factuur Query].FactuurNR, [Factuur Query].Verlof, [Factuur Query].FixVerlof, [Verlof]-nz(DSum("[FixVerlof]","[Factuur]","[KindNR]=" & [B][COLOR=blue][Factuur Query].[KindNR][/COLOR][/B])) AS SALDO
FROM [Factuur Query]
ORDER BY [Factuur Query].KindNR, [Factuur Query].FactuurNR;
 
Dan heb je het veld Kindnr in meerdere tabellen staan. In dat geval moet je inderdaad aangeven uit welke tabel het veld moet worden gelezen. Bijvoorbeeld:

Code:
SELECT [Factuur Query].KindNR, [Factuur Query].FactuurNR, [Factuur Query].Verlof, [Factuur Query].FixVerlof, [Verlof]-nz(DSum("[FixVerlof]","[Factuur]","[KindNR]=" & [B][COLOR=blue][Factuur Query].[KindNR][/COLOR][/B])) AS SALDO
FROM [Factuur Query]
ORDER BY [Factuur Query].KindNR, [Factuur Query].FactuurNR;

Bekijk bijlage CrecheApp_V1_small.zip

Hallo,

In bijlage de laatste verzie van mijn db.
Ik krijg het niet inorde.
Kan jij even helpen aub.

Het saldo moet berekend worden in de query FACTUUR.
SALDO = VERLOF-AFWEZIG

Ik heb het wel al een gedaan in een nieuwe query, met alleen de code voor saldo.
En dat werkt.
Maar het moet echt in de query FACTUUR staan.
Want daar is mijn formulier op gemaakt.
 
Ik ben een beetje confuus, want ik kan nergens een veld Fixverlof vinden.... Hoe wil je het saldo nu berekenen? Met welke veld?
 
Ik ben een beetje confuus, want ik kan nergens een veld Fixverlof vinden.... Hoe wil je het saldo nu berekenen? Met welke veld?

Het saldo moet berekend worden in de query FACTUUR.
SALDO = VERLOF-AFWEZIG
 
Zoiets dus...

Code:
SELECT Factuur.FactuurNR, Factuur.FactuurDatum, Factuur.KindNR, [Kind Tabel].[Naam Kind], Factuur.Jaar, Factuur.Maand, [Kind Tabel].FixVD, [Kind Tabel].FixHD, [Kind Tabel].Onderwijs, [Kind Tabel].OndVD, [Kind Tabel].OndHD, Factuur.FixExtraVD, Factuur.FixExtraHD, Factuur.InfoBoete, Factuur.Boete, Factuur.Betaald, Round((([FixVD]*45)*23)/12,2) AS TOT_FixVD, (([FixHD]*45)*16)/12 AS TOT_FixHD, [Afwezig]*6 AS Tot_FixAfw, [FixExtraVD]*23 AS Tot_FixExtraVD, [FixExtraHD]*16 AS Tot_FixExtraHD, [Tot_FixVD]+[Tot_FixHD] AS Tot_FIX, [Tot_FIX]+[Boete]+[TOT_Ond]+[TOT_Extra]-[TOT_FixAfw] AS TOTAAL, Round((([OndVD]*36.5)*23)/12,2) AS TOT_OndVD, (([OndHD]*36.5)*16)/12 AS TOT_OndHD, [TOT_OndVD]+[TOT_OndHD] AS TOT_Ond, [Tot_FixExtraVD]+[Tot_FixExtraHD] AS TOT_Extra, [Kind Tabel].Verlof, Factuur.Afwezig, [Verlof]-DSum("[Afwezig]","Factuur","[KindNR]=" & nz([Kind Tabel]![KindNR])) AS SALDO
FROM [Kind Tabel] INNER JOIN Factuur ON [Kind Tabel].KindNR = Factuur.KindNR
ORDER BY Factuur.FactuurNR;

Dit is de volledige code voor de query Factuur.
 
Zoiets dus...

Code:
SELECT Factuur.FactuurNR, Factuur.FactuurDatum, Factuur.KindNR, [Kind Tabel].[Naam Kind], Factuur.Jaar, Factuur.Maand, [Kind Tabel].FixVD, [Kind Tabel].FixHD, [Kind Tabel].Onderwijs, [Kind Tabel].OndVD, [Kind Tabel].OndHD, Factuur.FixExtraVD, Factuur.FixExtraHD, Factuur.InfoBoete, Factuur.Boete, Factuur.Betaald, Round((([FixVD]*45)*23)/12,2) AS TOT_FixVD, (([FixHD]*45)*16)/12 AS TOT_FixHD, [Afwezig]*6 AS Tot_FixAfw, [FixExtraVD]*23 AS Tot_FixExtraVD, [FixExtraHD]*16 AS Tot_FixExtraHD, [Tot_FixVD]+[Tot_FixHD] AS Tot_FIX, [Tot_FIX]+[Boete]+[TOT_Ond]+[TOT_Extra]-[TOT_FixAfw] AS TOTAAL, Round((([OndVD]*36.5)*23)/12,2) AS TOT_OndVD, (([OndHD]*36.5)*16)/12 AS TOT_OndHD, [TOT_OndVD]+[TOT_OndHD] AS TOT_Ond, [Tot_FixExtraVD]+[Tot_FixExtraHD] AS TOT_Extra, [Kind Tabel].Verlof, Factuur.Afwezig, [Verlof]-DSum("[Afwezig]","Factuur","[KindNR]=" & nz([Kind Tabel]![KindNR])) AS SALDO
FROM [Kind Tabel] INNER JOIN Factuur ON [Kind Tabel].KindNR = Factuur.KindNR
ORDER BY Factuur.FactuurNR;

Dit is de volledige code voor de query Factuur.

Perfect !
 
Ik vroeg me al af wanneer je tegen dat probleem aan zou lopen ;) Een saldo berekening op basis van DSUM moet de jaren meenemen in de berekening, anders krijg je de totaalwaarde. Verander allereerst het veld Jaar in de tabel Factuur naar numeriek (waarom heb je dat overigens nodig? Je hebt al een veld factuurdatum, dus je weet het jaar van de factuur....) en pas dan de query als volgt aan:
Code:
SALDO: [Verlof]-DSum("[Afwezig]";"Factuur";"[Jaar]=" & Year(Date()) & " AND [KindNR]=" & Nz([Kind Tabel]![KindNR]))
Zonder het veld Jaar ziet de formule er zo uit:
Code:
SALDO: [Verlof]-DSum("[Afwezig]";"Factuur";"Year([Factuurdatum])=" & Year(Date()) & " AND [KindNR]=" & Nz([Kind Tabel]![KindNR]))
 
Deze topic is dusdanig gedateert dat deze met rust gelaten mag worden. Topic gaat op slot en wordt overgedragen aan de afdeling BNw(Betere Naslagwerken)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan