Avatar billede alessandro Nybegynder
08. oktober 2009 - 12:19 Der er 15 kommentarer og
1 løsning

Formular feltegenskaber Access2007

Hej alle,

jeg er ikke helt inde i Access når det gælder at skrive kode, så jeg tænkte at det måtte være det rigtige sted at søge hjælp.

Jeg er ved at oprette en formular i access bestående af flere felter.

Felterne hedder således:

fugt, ton, GJ, pris, kr_pr_laes,

Jeg ønsker at felterne "GJ" og "kr_pr_laes" bliver udfyldt automatisk på bagrund af en udregning baseret på værdier fra de andre felter.

Eksempel:

Jeg har tastet følgende værdier i felterne:

fugt = 32,8 ton = 21,44 disse værdier skal sættes ind i følgende formel: +((19-(0,2145*32,8))*21,44) og resultatet skal indsættes i feltet "GJ"

Nogen der kan guide mig på vej for at løse dette?

Takker på forhånd
Avatar billede terry Ekspert
08. oktober 2009 - 12:54 #1
I'm sure you could do this in a number of ways but you could start with this.
Make the calculation in the two fields AFTERUPDATE event. If one of the fields hasnt been entered then it uses 0.


Private Sub fugt_AfterUpdate()
Me.GJ = (19 - (0.2145 * Nz(Me.fugt, 0)) * Nz(Me.ton, 0))

End Sub


Private Sub ton_AfterUpdate()
Me.GJ = (19 - (0.2145 * Nz(Me.fugt, 0)) * Nz(Me.ton, 0))
End Sub
Avatar billede terry Ekspert
08. oktober 2009 - 12:55 #2
and the same method could be used for kr_pr_laes
Avatar billede mugs Novice
08. oktober 2009 - 14:00 #3
Korrekt hvad Terry skriver, at de tkan gøres på flere måder. Jeg ville vælge at foretage udregningerne i en forespørgsel. På den måde behøver man kun at skrive udregningen een gang. en anden fordel er, at man kan brugene udregningerne i en rapport.

Du sætter markøren i en ny tom kolonne og skriver udegningen som Terry gør:

Udtryk1:(19 - (0.2145 * Nz(fugt, 0)) * Nz(ton, 0))

Du kna så opponere overfor, at værdien ikke indsættes i feltet GJ, men principielt mener jeg det er forkert at gemme beregnede værdier i tabellen.
Avatar billede mugs Novice
08. oktober 2009 - 16:02 #4
Syntaksfejl. Prøv:

Udtryk1:(19 - (0.2145 * Nz(fugt; 0)) * Nz(ton; 0))
Avatar billede alessandro Nybegynder
09. oktober 2009 - 13:05 #5
Jeg har lige prøvet det, men udregningen giver ikke helt det samme resultat som i mit regneark i excel.

Når jeg taster 32,8 i "fugt" feltet og 21,44 i "ton" feltet, skulle der gerne komme til at stå 256,52 i feltet GJ, men i stedet kommer der et negativt tal -131,843264.

Min formel i excell ser således ud: =+((19-(0,2145*fugt))*ton) dvs: =+((19-(0,2145*32,8))*21,44)

Har I nogen ide om hvad der går galt?
Avatar billede terry Ekspert
09. oktober 2009 - 13:22 #6
Sorry, you need to change
0.2145 to 0,2145
Avatar billede alessandro Nybegynder
12. oktober 2009 - 08:54 #7
Ark, det driller stadig..
Terry, når jeg ændrer 0.2145 til 0,2145 så kommer der en "compile error expected: )

Hvad gør jeg?

min sætning ser ud således:

Private Sub netto_AfterUpdate()
Me.GJ = (19-(0,2145*Nz(Me.fugt,0))*Nz(Me.ton,0))

Har nogen nogen forslag?
Avatar billede alessandro Nybegynder
12. oktober 2009 - 08:57 #8
Hov, det er selvfølgelig sådan at min sætning ser ud:

Private Sub ton_AfterUpdate()
Me.GJ = (19-(0,2145*Nz(Me.fugt,0))*Nz(Me.ton,0))
Avatar billede terry Ekspert
12. oktober 2009 - 08:57 #9
can you send me your dB?
ekspertenATsanthell.dk
AT = @
Avatar billede terry Ekspert
12. oktober 2009 - 09:21 #10
I think I've found the problem


Private Sub fugt_AfterUpdate()
Me.GJ = ((19 - (0.2145 * Nz(Me.fugt, 0))) * Nz(Me.ton, 0))

End Sub


Private Sub ton_AfterUpdate()
Me.GJ = ((19 - (0.2145 * Nz(Me.fugt, 0))) * Nz(Me.ton, 0))
End Sub
Avatar billede alessandro Nybegynder
14. oktober 2009 - 09:10 #11
YES!!!! Sådan det funger. Det er virkeligt nice! Tusind tak.
Jeg leger lidt med det. Skal nok have udvidet formularen lidt, så jeg vender tilbage. Men hvordan får jeg den til at vise resultatet i GJ feltet med 2 decimaler.

Men du får points nu.
Avatar billede terry Ekspert
14. oktober 2009 - 09:45 #12
super, tak for points
Avatar billede terry Ekspert
14. oktober 2009 - 09:46 #13
"Men hvordan får jeg den til at vise resultatet i GJ feltet med 2 decimaler. "

Look at the format property for the field
Avatar billede alessandro Nybegynder
20. oktober 2009 - 11:59 #14
Terry, nu hvor du er i gang med at hjælpe mig, så har jeg endnu et spørgsmål:

I min formular har jeg et felt som hedder "kr"
og et felt som hedder "gj", som du allerede ved.

Derudover har jeg et felt (dropdown box) som hedder "vaerk".


Jeg kunne godt tænke mig at skrive en formel som gør, at hvis værdien i feltet "vaerk" = BWK så bliver værdien i gj feltet multipliceret med en værdi som jeg har stående i et felt som hedder "pris_gj" i tabellen "varmevaerk" hvor varmevaerk_navn er BWK.

Giver det mening? Kan det lades sig gør?
Avatar billede alessandro Nybegynder
20. oktober 2009 - 12:04 #15
PS: Har oprettet et spørgsmål til det ovenstående. Folk skal selvfølgelig have point for deres fantastiske hjælp ;)
Avatar billede terry Ekspert
20. oktober 2009 - 12:44 #16
just seen you comment and have place an answer/comment on your other question :o)
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