Avatar billede per2edb Ekspert
28. november 2024 - 11:48 Der er 7 kommentarer

Vis Valuta og Pris i SQL

Jeg har SQL  Select (xxx.Pris, xxx.Valutakode,  ValutaPris)
Valtakode ligger i en tabel med f.eks
0= "Kr"
1="$"
2= £
osv osv

Jeg skal f.eks have ValutaPris vist som  $10,25
Dvs jeg har Valutakode som 1 og Pris som 10,25

Jeg kan IKKE bruge currency da den kun viser maskinens valuta og jeg har brug for mange andre specificeret med variablen Valutakode
Avatar billede Gustav Ekspert
28. november 2024 - 12:03 #1
Den må du selv konstruere, fx:
ValutaPris = "$" & Format([Pris], " 0,00")
Avatar billede per2edb Ekspert
28. november 2024 - 13:16 #2
Din fx er ikke i en SQL
Avatar billede Gustav Ekspert
28. november 2024 - 13:51 #3
Det er jo blot at oprette et join til din valutatabel og så skrive et udtryk, der henter valutasymbolet derfra:
ValutaPris: [Valutasymbol] & Format([Pris], " 0,00")
I øvrigt vil jeg anbefale at bruge den officielle ISO 4277 standard og dens koder som vist fx her inklusive alle de mærkværdige symboler, der bruges rundt omkring:

https://www.newbridgefx.com/currency-codes-symbols/

Så skal du ikke opfinde noget selv.
Avatar billede per2edb Ekspert
28. november 2024 - 14:37 #4
Hej

Vi må gå total forbi hinanden
Jeg har et SQL kald  SELECT(......  osv  Her skal det ind)

Det kan måske ske ved en function lagt ind i SQL'en. Men det er nyt for mig
Avatar billede Gustav Ekspert
28. november 2024 - 15:03 #5
Det kunne være noget i stil med:
Select 
    DinTabel.*,
    ValutaTabel.Valutasymbol,
    ValutaTabel.Valutasymbol & Format(DinTabel.Pris, " 0.00") As ValutaPris
From
    DinTabel
Inner Join
    ValutaTabel
    On ValutaTabel.Valutakode = DinTabel.Valutakode
Avatar billede per2edb Ekspert
28. november 2024 - 17:19 #6
Ja mange tak
Jeg fik også en funktion til at spille sammen med SQL SELECT

Her koderne for en Funktionsløsning:

SELECT Prisen: PrisVF([Varekartotek].[Pris];[Varekartotek].[ValutaId])  ......

Public Function PrisVF(Pris As Double, ValutaId) As Variant
    If Nz(ValutaId, 0) <= 0 Then
      PrisVF = Format(Pris, "#,##0.00")
    Else
        Dim Enhed As Variant
        Enhed = Nz(DLookup("[Enhed]", "Valuta", "[ValutaId] = " & ValutaId), "Kr")
        PrisVF = Enhed & Format(Pris, "#,##0.00") 
    End If
End Function
Avatar billede Gustav Ekspert
28. november 2024 - 17:31 #7
Jo, men det bliver noget sløvt, hvis ikke du kun har få linjer.
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