Avatar billede kmjk Nybegynder
05. december 2000 - 09:08 Der er 4 kommentarer og
1 løsning

Syntax: beregning af formularfelter i VBA

Jeg har lavet en formular hvor jeg beregner mange felter, jeg prøvede først at lave beregningerne i makrodelen, men formlerne blev for lange.

Her er et eksempel på hvordan jeg har lavet det i VBA:
[Forms]![Tomkørsel_forbrug]![Tkørsel omregn] = [Forms]![Tomkørsel_forbrug]![Tomkørsel] / [Forms]![Tomkørsel_forbrug]![Samlet strækning] * 100

Dette er en af de små, men kan jeg undgå at skrive så meget evt. med WITH .... End With eller hvordan gør jeg det ellers
Avatar billede ras2000 Nybegynder
05. december 2000 - 16:44 #1
Uh, det er synd du har siddet så længe og ventet. Der er en del måder at gøre det på. Du kan f.eks. lave en function der regner resultatet ud, med nogle givne parametre:
function tkoersel(tomkoersel as single, samlet_straekning as single) as single
tkoersel=tomkoersel/(samlet_straekning*100)
end function

så kan du kalde funktionen i kontrolelementet tkørsel omregn i kilde således:
=tkoersel([tomkørsel], [samlet strækning])

Ellers kan du oprette en samling der indeholder din formel og bruge nogle with sætninger, og bruge onload til at køre funktionen. Den første løsning er nu pænere.
Avatar billede kmjk Nybegynder
06. december 2000 - 12:16 #2
Det er måske ikke lige det jeg søger og dog..
I det viste eksempel henviser jeg til
    Forms]![Tomkørsel_forbrug]!
det gør jeg 3 gange, men jeg har beregninger hvor jeg henviser 10-12-20 gange til den samme formular.
Kan jeg gøre det nemmere ?
du nævner selv With sætninger, hvordan ?

Kaj
Avatar billede ras2000 Nybegynder
06. december 2000 - 12:37 #3
Jeg vil stadig mene at det vil fungere bedst med en hjemmelavet funktion. Der er det jo ligemeget hvad det er for en formular du har fat i. Det eneste tidspunkt du ikke kan det, er hvis du skal bruge oplysninger fra flere forskellige formularer, og der ville det være smartere at samle dine informationer. Jeg er faktisk ikke helt klar over hvordan man bruger en with-sætning med en formular, der var jeg lidt for hurtig, jeg tror kun man kan gøre det med tabeller eller forespørgelser. Prøv at sende mig din database, så kan jeg lave et eksempel, og så kan vi tage udgangspunkt i det. mailto: rasmus.bak.jepsen@teknologisk.dk
Avatar billede kmjk Nybegynder
06. december 2000 - 12:51 #4
Jeg prøver med en funktion. Jeg kan se på dit eksempel, og jeg har også \"boget\" den i nat, så jeg skal nok få det strikket sammen. Håber bare ikke at der er et loft for hvormange parametre jeg må overføre.

Tak for hjælpen
Avatar billede ras2000 Nybegynder
06. december 2000 - 13:27 #5
Selv tak. Men skriv endelig hvis det driller, du kan jo bare fortsætte i det her spørgsmål, så burde jeg få kommentarene. Held og lykke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester