elementbron verwijzen naar een berekend veld in een query gebaseerd op een query...

  • Onderwerp starter Onderwerp starter xurm
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

xurm

Gebruiker
Lid geworden
2 mrt 2011
Berichten
19
Beste,

Heb al op verschillende manieren geprobeerd, maar geraak er niet uit....
Ik heb een doorlopende form waar alle facturen in staan.
Deze is gebaseerd op een query: Qry_Factuuroverzicht

Code:
SELECT DISTINCTROW Tbl_NAWs.Naam, Tbl_NAWs.adres, Tbl_NAWs.postcode, Tbl_NAWs.plaats, Tbl_Facturen.Factuurnr, Tbl_Facturen.datum, Sum([aantal]*[stukprijs])*1.21 AS bedrag, Tbl_Facturen.Fase
FROM (Tbl_Artikelen INNER JOIN Tbl_Facturen ON Tbl_Artikelen.factuurnr = Tbl_Facturen.Factuurnr) INNER JOIN Tbl_NAWs ON Tbl_Facturen.debnummer = Tbl_NAWs.Debnummer
GROUP BY Tbl_NAWs.Naam, Tbl_NAWs.adres, Tbl_NAWs.postcode, Tbl_NAWs.plaats, Tbl_Facturen.Factuurnr, Tbl_Facturen.datum, Tbl_Facturen.Fase
ORDER BY Tbl_Facturen.Factuurnr;

deze werkt perfect. De Tbl_Facturen.Fase houd bij of welke status de factuur heeft, nl.
"Gefactureerd", "Herinnering" of "Betaald"

Nu komt het: ik wil in het voetformulier een "opstaande factuur saldo" hebben,
dus alle [bedrag] bijeentellen waar Fase "Gefactureerd" of "Herinnering" is.

Dit heb ik willen doen via een query: Qry_Gefased:
Code:
SELECT DISTINCTROW Sum([aantal]*[stukprijs])*1.21 AS kredit, Tbl_Facturen.Fase
FROM (Tbl_Artikelen INNER JOIN Tbl_Facturen ON Tbl_Artikelen.factuurnr = Tbl_Facturen.Factuurnr) INNER JOIN Tbl_NAWs ON Tbl_Facturen.debnummer = Tbl_NAWs.Debnummer
GROUP BY Tbl_Facturen.Fase
HAVING (((Tbl_Facturen.Fase)="Gefactureerd" Or (Tbl_Facturen.Fase)="Herinnering"));
hetgeen 2 rijen weergeeft ("Gefactureerd", "Herinnering") waar de query de bedragen per rij bij elkaar optelt.
Ik dacht dan in mijn tekstveld besturingselementbron deze 2 rijen optetellen en
weer te geven:
besturingselementbron tekstvak21:
Code:
=Som([Qry_Gefased]![kredit])

maar dit geeft #error weer.

ook als ik die query laat wegschrijven naar een tabel (waarden worden opgelsagen zoals moet), en met
Code:
=Som([TblKredit]![kredit])
doet ie het niet...

please advice :p

grtz,
XurM
 
Je kunt in een tekstveld niet rechtstreeks verwijzen naar een (willekeurig welk) veld van een tabel of query. Vandaar de foutmelding. Wel kun je een gebeurtenis maken op je formulier, bijvoorbeeld <Bij aanwijzen> die de recordset maakt en opent, de waarde uit het veld uitleest en toewijst aan het tekstveld. Ik zou dit bij Aanwijzen doen, zodat je bij het bladeren naar een ander record de volgende berekening maakt/krijgt.
 
yep, gelukt....

Code:
 Private Sub Form_Activate()

    Me.Requery
  Krediet = DSum("Kredit", "Qry_gefased")
    
End Sub
 
Als je wilt kunnen bladeren door je records, zou ik de code bij <Bij aanwijzen> zetten. Activate wordt maar één keer uitgevoerd namelijk.
 
idd, maar het is een doorlopende form, waar de totalen in de footer staan, na elke record heb je dan een knop om de desbetreffende factuur open te doen, indien je daar een bedrag wijzigd en sluit "activeer" je de doorlopende weer, waardoor de code weer gaat lopen. Hence die Requery.


Bij aanwijzen zou ook gaan en zeker van toepassing zijn als de records 1 per 1 getoond werden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan