13. november 2009 - 10:41
Der er
2 kommentarer og
1 løsning
"overføre" en formel fra Exell til Access
Hej alle,
jeg har lavet et slags kørselsskema i Excell hvor jeg i et af felterne har en formel som hedder således:
=HVIS(I6<=20;G6*10,35;HVIS(I6<=30;G6*12,42;HVIS(I6<=40;G6*14,23;HVIS(I6<=50;G6*16,04;HVIS(I6<=60;G6*17,6;HVIS(I6<=80;G6*20,44;HVIS(I6<=100;G6*22,77;HVIS(I6<=120;G6*25,88;HVIS(I6<=140;G6*28,72;HVIS(I6<=160;G6*31,57;HVIS(I6<=180;G6*34,16;HVIS(I6<=200;G6*36,74;))))))))))))
Jeg vil nu gerne bruge denne formel på et felt i min formular.
Hvis vi nu siger at feltet jeg vil have koden sat ind i hedder "vogn" og I6 vil hedde "KM" og G6 "RM". Hvordan omskriver jeg denne formel til VisualBasic? jeg går ud fra det er noget med AfterUpdate..
Den flinke person som vil hjælpe behøver ikke at skrive hele formlen, bare sådan at man kan se princippet i den ;)
Tusind tak på forhånd.
13. november 2009 - 13:01
#1
Selve VB-koden er simpel.
Hvordan du rent praktisk implementerer det i Access kan jeg desværre ikke hjælpe dig med.
Dim vogn As Double, KM As Double, RM As Double
If KM <= 200 Then vogn = RM * 36.74
If KM <= 180 Then vogn = RM * 34.16
If KM <= 160 Then vogn = RM * 31.57
If KM <= 140 Then vogn = RM * 28.72
If KM <= 120 Then vogn = RM * 25.88
If KM <= 100 Then vogn = RM * 22.77
If KM <= 80 Then vogn = RM * 20.44
If KM <= 60 Then vogn = RM * 17.6
If KM <= 50 Then vogn = RM * 16.04
If KM <= 40 Then vogn = RM * 14.23
If KM <= 30 Then vogn = RM * 12.42
If KM <= 20 Then vogn = RM * 10.35
vogn får værdien 0, hvis KM>200
13. november 2009 - 13:03
#2
Der er en lille fejl:
KM og RM skal IKKE erklæres men inputtes, evt i en funktion:
Function XXX(ByVal KM As Double, ByVal RM As Double) As Double
'koden her
XXX = vogn
End Function
15. november 2009 - 10:35
#3
Du opretter et modul og placerer ovenstående funktion i det (let tilrettet)
Function XXX(ByVal KM As Variant, ByVal RM As Variant) As Double
Dim Vogn As Double
If IsNull(KM) Or IsNull(RM) Then
XXX=0 ' Eller hvad du nu vil
Exit Sub
EndIf
If KM <= 200 Then vogn = RM * 36.74
If KM <= 180 Then vogn = RM * 34.16
If KM <= 160 Then vogn = RM * 31.57
If KM <= 140 Then vogn = RM * 28.72
If KM <= 120 Then vogn = RM * 25.88
If KM <= 100 Then vogn = RM * 22.77
If KM <= 80 Then vogn = RM * 20.44
If KM <= 60 Then vogn = RM * 17.6
If KM <= 50 Then vogn = RM * 16.04
If KM <= 40 Then vogn = RM * 14.23
If KM <= 30 Then vogn = RM * 12.42
If KM <= 20 Then vogn = RM * 10.35
XXX = Vogn
End Function
I Vogn på din formular lægger du så i feltet KontrolelementKilde følgende:
=XXX(KM;RM)