Function in VBA

Status
Niet open voor verdere reacties.

jbusser

Gebruiker
Lid geworden
23 feb 2007
Berichten
186
Ik heb een behoorlijk aantal variabelen die op verschillende plaatsen berekend moeten worden.
Nu dacht ik slim te zijn door een functie aan te maken...

Code:
Function FillTotals()

Test_A = DSum("[Testveld1]", "Testtabel", "[geselecteerd] = True")
Test_B = DSum("[Testveld2]", "Testtabel", "[geselecteerd] = True")
Test_C = DSum("[Testveld3]", "Testtabel", "[geselecteerd] = True")

T_A = Test_A
T_B = Test_B
T_C = Test_C
Maar, dit riedeltje doet helemaal niets!
Als ik dit kopieer en onder een gewone cliCK() - sub plaats werkt het wel!
Wat doe ik fout?
 
Laatst bewerkt:
In Welk Office product?
 
Je moet de functie natuurlijk wel ergens aanroepen. Overigens zou ik daarvoor TempVars gebruiken. Maar omdat je niet aangeeft hoe en waar je ze wilt gebruiken, is dat natuurlijk een beetje natte vinger werk.
 
Een functie levert een (1) waarde op die je ergens aan toekent. Bijvoorbeeld x = FillTotals().
Ergens in de functie zou dan moeten staan FillTotals =.........

Ik heb de indruk dat je geen functie maar een procedure (een sub in VBA-termen) wil maken die meerdere gegevens in een keer bijwerkt.
Een probleem is in ieder geval dat de functie / procedure niet kan weten TA_A etcetera zijn. Velden in een tabel, variabelen, controls op een formulier / rapport?

Voor een goed antwoord hebben we meer context nodig.
 
Laatst bewerkt:
Dank, allen voor het meedenken.
Ik heb mijn probleem inmiddels opgelost.
Velden T_A T_B en T_C kunnen niet worden gevuld met

=DSum("[Testveld1,2, of 3]", "Testtabel", "[geselecteerd] = True")
Dan verschijnt een foutmelding.

In VBA werkte dit echterwel!
Ik kwam er achter dat in een tekstvak de komma's vervangen moeten worden door een ";"
dus

= DSum("[Testveld3]"; "Testtabel"; "[geselecteerd] = True")

De VBA-regels niet meer nodig...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan