Ga naar inhoud

SQL-statement


Aanbevolen berichten

Blijkbaar doe ik iets goed fout met mijn DLOOKUP-functie. (Zie [url=http://forum.computertotaal.nl/phpBB2/viewtopic.php?t=92399&sid=4d1d89192b220caf1336a3516f3c1016]Vorige vraag[/url]) Daarbij komt ook nog dat het systeem traag wordt. Dus zat ik te denken om een SQL-statement te gebruiken die de functie DLOOKUP combineert met de query. Mijn DLOOKUP-functie is: [code:1:ef972ddcfa]=DLookUp("[BeginSaldo]","qryKassaTotContantCum","[IDKassa]=" & [txtidkassa])[/code:1:ef972ddcfa] SQL van de query [b:ef972ddcfa]qryKassaTotContantCum[/b:ef972ddcfa] is: [code:1:ef972ddcfa]SELECT tblKassaForm.IDKassa, tblBedragKassa.Bedrag, tblKassaForm.Datum, tblKassaForm.Filiaal, tblBedragKassa.BetWijze, pfeindsaldo([betwijze],[filiaal],[datum]) AS EindSaldo, pfbeginsaldo([betwijze],[filiaal],[datum]) AS BeginSaldo FROM tblKassaForm INNER JOIN tblBedragKassa ON tblKassaForm.IDKassa = tblBedragKassa.KassaFormID ORDER BY tblKassaForm.Datum, tblKassaForm.Filiaal; [/code:1:ef972ddcfa] en de gebruikte [i:ef972ddcfa]public functions[/i:ef972ddcfa] zijn: [code:1:ef972ddcfa] Public Function pfEindSaldo(fstrBetWijze As String, fstrFiliaal As String, fdatDatum As Date) As Currency If fstrBetWijze <> "Contant" Then pfEindSaldo = 0 Else pfEindSaldo = DSum("[Bedrag]", "qryKassaTotContant", "BetWijze = 'Contant' And Filiaal = '" & fstrFiliaal & "' And Datum <= #" & fdatDatum & "#") End If End Function Public Function pfBeginSaldo(fstrBetWijze As String, fstrFiliaal As String, fdatDatum As Date) As Currency If fstrBetWijze <> "Contant" Then pfbegingSaldo = 0 Else On Error Resume Next pfBeginSaldo = DSum("[Bedrag]", "qryKassaTotContant", "BetWijze = 'Contant' And Filiaal = '" & fstrFiliaal & "' And Datum < #" & fdatDatum & "#") If Err.Number <> 0 Then pfBeginSaldo = 0 On Error GoTo 0 End If End If End Function [/code:1:ef972ddcfa] De SQL van de query [b:ef972ddcfa]qryKassaTotContant[/b:ef972ddcfa] is: [code:1:ef972ddcfa]SELECT tblBedragKassa.Bedrag, tblKassaForm.Datum, tblKassaForm.Filiaal, tblBedragKassa.BetWijze FROM tblKassaForm INNER JOIN tblBedragKassa ON tblKassaForm.IDKassa = tblBedragKassa.KassaFormID ORDER BY tblKassaForm.Datum, tblKassaForm.Filiaal; [/code:1:ef972ddcfa] Zelf krijg ik als ik een SQL samenstel het resultaat #Naam? Ik hoop dat iemand me verder kan helpen want mijn SQL is waardeloos Alvast bedankt!
Link naar reactie
dymic, een paar tips: -probeer eerst een wat simpeler SQL statement, en maak hem geleidelijk ingewikkelder: bv geen innerjoin maar met een kassid dat je zelf meegeeft. -als je pc traag wordt, dan kan dit komen doordat je resultaatset erg veel rijen oplevert. Heb je al eens geprobeerd alleen het aantal resultaatrijen op te halen (met select count(*) of iets dergelijks. succes, Herman
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...