Avatar billede mansoor Nybegynder
18. februar 2002 - 16:57 Der er 14 kommentarer

Streng behandling

Jeg ved ikke om det er under Visual Basic eller om det er under Acccess, men nu prøver jeg her.

Jeg har en Abonnenment_pris af typen Valuta, her kan f. eks. stå: Kr 247,50. Og så har et felt i min rapport som hedder Txt_Kr.
Den kommando/funktion jeg leder efter er en hvor jeg kan tage det til venstre fra kommaet altså 247 og lægge over i Txt_Kr

Er der en der kan hjælpe?

Tak
Avatar billede kaffe Nybegynder
18. februar 2002 - 17:20 #1
Jeg ville have foreslået Round og Format, men de runder op, så hvis du skal klippe de sidste 3 tegn væk ville jeg bruge:

Txt_Kr = Mid(Abonnement_pris, 1, Len(Abonnement_pris) - 3)

den tager alt bortset fra de sidste 3 tegn.
Avatar billede mansoor Nybegynder
18. februar 2002 - 17:31 #2
Hej

Jeg kan ikke få det til at fungerer, kender du et sted på nettet, hvor der er noget dokumentation til strengbehandling
Avatar billede jelzin101 Praktikant
18. februar 2002 - 17:44 #3
prøv med:
Txt_kr = right(abb_pris,3)
Avatar billede kaffe Nybegynder
18. februar 2002 - 18:10 #4
jelzin101> så får han jo ,50 :)

kig evt. på
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q210564
Avatar billede johs_j Novice
18. februar 2002 - 20:45 #5
Txt_kr=left(Abonnement_pris,instr(Abonnement_pris,","))
Avatar billede johs_j Novice
18. februar 2002 - 20:47 #6
Hvis kommaet kommer med skal der trækkes 1 fra:
Txt_kr=left(Abonnement_pris,instr(Abonnement_pris,",")-1)
Avatar billede mansoor Nybegynder
18. februar 2002 - 23:06 #7
Hej Johs,

Jeg skal nok give dig point, men lige et spørgsmål:
I Abonnement_Pris står der f.eks. 1.237,80, når jeg så bruger dit forslag så kommer Txt_kr til at indenholde 1237 uden et punktum - hvordan får jeg det punktum med.

Hvis du hjæper mig og det virker - får du 30 point ekstra.
Avatar billede johs_j Novice
19. februar 2002 - 09:10 #8
Der findes en anden løsning:
I rapportdesign kan du formatere Txt_kr til vise . med 0 decimaler.
eller
Txt_kr=format(left(Abonnement_pris,instr(Abonnement_pris,",")-1),"##,#")

det burde også virke.
Avatar billede johs_j Novice
19. februar 2002 - 09:12 #9
Du kan måske også bruge:
Txt_kr=format(fix(Abonnement_pris),"##,#")
Avatar billede nolle_k Nybegynder
19. februar 2002 - 09:27 #10
Hvad med funktionen Int(Abbonement_pros)! Jeg mener at denne tager helt tals værdien af et decimal tal eller også er det CInt, der gør det! Prøv begge! Men jeg mener at det er Int

//Nolle_K
Avatar billede johs_j Novice
19. februar 2002 - 10:56 #11
>nolle_k
Int(x) og Fix(x) er fuldstændig ens så længe der er tale om positive tal.
Hvis du prøver følgende:
Int(-2.2) giver -3
Fix(-2.2) giver -2
Avatar billede nolle_k Nybegynder
19. februar 2002 - 11:00 #12
Nå! Men så er det CInt, der giver hel tals værdien! Jeg sagde jo at jeg ikke kunne huske hvad for en af dem, der gjorde det ønskede!
Avatar billede johs_j Novice
19. februar 2002 - 17:17 #13
>nolle_k
Int og Fix giver også heltalsværdien.
Avatar billede kaffe Nybegynder
19. februar 2002 - 17:37 #14
johs_j>CInt runder op. Der står at 247,50 skal omdannes til 247.
Cint(247,50) = 248
Fix(247,50) = 247
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
Kurser inden for grundlæggende programmering

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