veel records in subform met form totaal lukt niet goed bij uitvoeren van andere code

Status
Niet open voor verdere reacties.

Deech123

Gebruiker
Lid geworden
4 apr 2012
Berichten
26
hallo,

hier ben ik weer :-)
ik ga proberen het eenvoudig uit te leggen.
ik heb een hoofdformulier en daarin een subform;

in de subform staan artikellijntjes van bestellingen, zodra ik daar bv een aantal of wat dan ook verander roep ik een public sub op die een pak berekeningen zal uitvoeren en alsook een .recalc omdat ik op mijn hoofdform gebruik maak van het subtotaal van de subform.

nu wanneer ik maar een record of 5 heb, vormt dat geen probleem, maar als ik bv in mijn subform 20 records heb, dan zal een stuk van de code wel runnen, maar terwijl hij die recalc doet gaat hij verder en net onder die recalc moet hij het subform totaal hebben om verder te kunnen en daar loopt het dus mis.

heeft iemand een idee hoe je op een subform een recalc kunt uitvoeren met veel records en dat de andere code wacht tot hij klaar is?
want ik vermoed dus echt dat het aantal records hier de doorslag van slagen of niet slagen van de code gaat bepalen (tijd die nodig is om alles te herberekenen?)

en raar is dan, als ik dan nadat de fout kwam even helemaal onderaan op het laatste record klik, het aantal gewoon opnieuw invul, en enter (bij enter ga ik dus diezelfde code gaan uitvoeren) dan lukt het wel...

ik sta voorlopig voor een raadsel...wie weet wat ik mis doe of hoe ik het beter doe?

merciekes
 
Jammer genoeg is je poging niet echt gelukt, want snappen doe ik het nog steeds niet.... Geen idee bijvoorbeeld wat je probeert te bewerkstellingen met de Recalc. Leg eerst maar eens uit wat voor soort ingewikkelde berekening je maakt, en op welk moment die wordt uitgevoerd, waardoor het niet meer werkt.
 
haha, had het al weer gedacht :-)
wel ingesloten een screenshot.

je zal zien dat er een hoofdformulier is, en daarin een subform.
de subform heeft een opsomming terug van artikellijnen.

wanneer ik in die subform dus dingen ga toevoegen, aanpassen dan moet ik een recalc doen om het totaal van de bv TOTVKP te krijgen die ik gebruik in de hoofdform.

Dus stel ik heb 4 records in de subform, en ik verander het aantal, zodra ik dat doe gebeuren een paar zaken zodat ik op het hoofformulier direct de juiste aanpassingen en prijzen zie.

de code staat in de public sub, en iedere keer ik iets verander roep ik deze dus op, omdat bepaalde velden berekende velden zijn en en andere dan weer velden die ik effectief in de db steek.

de code ziet er zo uit. :
Code:
Public Sub herreken()

    If Form("for_factuuritemsSub").Form("aantalrollen") <> "" Then
        Form("for_factuuritemsSub").Form("TotVKP") = Form("for_factuuritemsSub").Form("AantalRollen") * Form("for_factuuritemsSub").Form("VKPRolEuro")
    End If
 
   Forms![For_Facturen]![For_factuuritemsSub].Form.Recalc
    
    If Form("for_factuuritemsSub").Form("TotVKP") <> "" Then
        Me.Totaalexclbtw = Form("for_factuuritemsSub").Form("subTotaal")
        Me.TOTAALAKP1 = Me.TOTAKP1 * 1.12
        Me.TOTTrans1 = Me.TOTAALAKP1 - Me.TOTAKP1
        Me.TOTAALAKP2 = Me.TOTAKP2 + Me.TOTTrans2
        Me.TotEuro1 = Me.TOTAALAKP1 / Me.ConvertRate
        Me.AlGekocht = Me.TOTAKP1 - Me.TOTAKP2
        Me.TotEuro2 = (Me.TOTAALAKP2 + Me.AlGekocht) / Me.ConvertRate
        Me.AlGekocht = Me.TOTAKP1 - Me.TOTAKP2

        If Form("for_factuuritemsSub").Form("subtotaal") <> "" Then
            Me.Rate = ((Form("for_factuuritemsSub").Form("subtotaal") / Me.TotEuro2) * 100) - 100
        End If

     End If



    

End Sub

en nu net wanneer er meer dan 16 records staan in dat subformulier, dan krijg ik fouten bij het openen van het formulier (bij het openen voer ik die code ook uit).
en net op dit stuk : Me.Totaalexclbtw = Form("for_factuuritemsSub").Form("subTotaal")

en dat is dus duidelijk dat het aantal records een invloed heeft op het verwerken van die aantallen.

maar waar zit het probleem natuurlijk hé :-)

beter zo? ;-)

d.
 

Bijlagen

  • forum.jpg
    forum.jpg
    45,9 KB · Weergaven: 18
Het is helemaal niet duidelijk dat het aantal records invloed heeft op het probleem, want dat blijkt niet uit de meegeleverde code. Ik zou zeggen: maak er een voorbeeldje van, want het kant vast een stuk slimmer, en ik heb niet de tijd om dit formulier na te bouwen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan