Doelzoeken in Access

Status
Niet open voor verdere reacties.

petervanN

Gebruiker
Lid geworden
3 mrt 2008
Berichten
23
Hallo allemaal,

Ik probeer om voor elkaar te krijgen dat de opbrengst verkopen van voor het verstrekken van een korting gelijk te stellen aan de opbrengst verkopen na het verstrekken van een korting. Als volgt:
De totale opbrengt wordt berekend door het aantal verkopen maal de verkoopprijs.
De verkoopprijs wordt met 30% verlaagd (bijv.) en ik begin bij 0 verkopen.

Nu dacht ik zelf aan een loop met een if functie erachter in VBA, iets als:

doloop If opbrengstvoor > opbrengstna
then verkopenna +1
else endsub

Nu is het probleem niet zozeer dat me deze VBA code niet gaat lukken, maar ik vroeg me af of dit uberhaupt ging werken, en waar ik het moet neerzetten. Gaat dit lukken als ik het achter de codes van mijn "run query" en "run report" plak in mijn furmulier?

Bij voorbaat dank,
Met vriendelijke groet,

Peter
 
Even een up voor mijn eigen topic, ik kom er namelijk niet uit. Waarom werkt deze VBA code niet? (Waarschijnlijk omdat ik de velden niet goed verwijs). Hoe doe ik dit correct?

Code:
Private Sub Command_Click()
On Error GoTo Err_Command_Click

    Dim stDocName As String

    stDocName = "TotalQuery"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

    If NNACM < ACM Then
    NVolume = NVolume + 1

    Loop

    Else
    End If


Exit_Command_Click:
    Exit Sub

Err_Command_Click:
    MsgBox Err.Description
    Resume Exit_Command_Click
    
End Sub

NNACM en ACM zijn rekenvelden, waarin ze Volume maal Contributie berekenen. ACM Berekent het op basis van een bekend Volume en een berekende Contributie. NNACM wordt berekend door een nieuwe cel NVolume waar niets in staat, die vermenigvuldigd wordt met een nieuwe berekende contributie. NVolume moet de NNACM dus gelijk stellen aan ACM (of beter gezegd: de eerste waarde van volume zoeken waarbij de waarde van NNACM groter is dan ACM).

Kan iemand mij vertellen of dit mogelijk is wat ik hier wil of hoe ik deze VBA code aan het werken krijg? Lang gezocht maar kan geen voorbeeld vinden van iemand die dit wil.
 
Even een up voor mijn eigen topic, ik kom er namelijk niet uit. Waarom werkt deze VBA code niet? (Waarschijnlijk omdat ik de velden niet goed verwijs). Hoe doe ik dit correct?

Code:
Private Sub Command_Click()
On Error GoTo Err_Command_Click

    Dim stDocName As String

    stDocName = "TotalQuery"
    DoCmd.OpenQuery stDocName, acNormal, acEdit

    If NNACM < ACM Then
    NVolume = NVolume + 1

    Loop

    Else
    End If


Exit_Command_Click:
    Exit Sub

Err_Command_Click:
    MsgBox Err.Description
    Resume Exit_Command_Click
    
End Sub

NNACM en ACM zijn rekenvelden, waarin ze Volume maal Contributie berekenen. ACM Berekent het op basis van een bekend Volume en een berekende Contributie. NNACM wordt berekend door een nieuwe cel NVolume waar niets in staat, die vermenigvuldigd wordt met een nieuwe berekende contributie. NVolume moet de NNACM dus gelijk stellen aan ACM (of beter gezegd: de eerste waarde van volume zoeken waarbij de waarde van NNACM groter is dan ACM).

Kan iemand mij vertellen of dit mogelijk is wat ik hier wil of hoe ik deze VBA code aan het werken krijg? Lang gezocht maar kan geen voorbeeld vinden van iemand die dit wil.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan