Avatar billede pewolle Nybegynder
21. november 2000 - 20:39 Der er 6 kommentarer og
1 løsning

Rette \".\" til \",\"

Hvordan retter jeg 1590.05 til 1590,05?

Jeg importerer nogle tal til nogle tekstfelter, og vil gerne rette punktum til komma vha. en opdateringsforespørgelse (så jeg senere kan bruge dem i et talfelt).

Jeg har rodet lidt med en VBA kode, men kan ikke rigtigt få det til at virke.

Det jeg importerer ser sådan ud:

00000001590.05
00001021021.00

og det jeg gerne vil have som resultat er:

00000001590,05
00001021021,00
Avatar billede blazer Nybegynder
21. november 2000 - 20:40 #1
Fixed=Replace(\"00000001590.05\",\".\",\",\")
Avatar billede pewolle Nybegynder
21. november 2000 - 20:59 #2
Jeg har lavet følgende:

Public Function Retkomma()
Dim Belob As String

Fixed = Replace(Belob, \".\", \",\")

End Function

og kører en foresp.:

UPDATE Tabel1 SET Tabel1.Beløb = Retkomma([Tabel1]![Beløb]);

men det virker ikke rigtigt.
Avatar billede blazer Nybegynder
21. november 2000 - 21:25 #3
Public Function Retkomma()
Dim Belob As String

Retkomma = Replace(Belob, \".\", \",\")

End Function

Avatar billede horus Nybegynder
22. november 2000 - 08:44 #4
Øhhhh, undskyld jeg blander mig.... men MIN Access97, kender ikke nogen Replace funktion... er det noget nyt i Access2000 ????

Jeg bruger selv følgende hjemmestrikkede funktion når jeg vil erstatte et eller flere tegn med noget andet.


Public Function ErstatTegn(Tekst As String, GammeltTegn As String, NytTegn As String, Optional AntalTegn As Integer = 1)

\'Tekst = Den tekst du vil erstatte noget i (altså din string, indeholdende dit tal)

\'GammeltTegn = Det tegn du vil have erstattet, altså \".\"

\'NytTegn = Det tegn der skal indsættes i stedet, altså \",\"

\'AntalTegn = Valgfri - kan bruges hvis man vil erstatte f.eks. et helt ord - du undlader bare noget hér, da du jo kun skal erstatte et enkelt tegn.

Dim tal As Integer

tal = InStr(1, Tekst, GammeltTegn)

Do Until tal = 0
       
    Mid(Tekst, tal, AntalTegn) = NytTegn
   
    tal = InStr(1, Tekst, GammeltTegn)

Loop

ErstatTegn = Tekst

End Function


Du laver altså bare en linie kode hvor du skriver noget lignenede:

TalMedKomma = ErstatTegn(\"DitTal\", \".\", \",\", Optional AntalTegn As Integer = 1)

Held og lykke...

Horus
Avatar billede moses Praktikant
22. november 2000 - 12:50 #5
Bare lige for en ordensskyld :

Du kan bruge importfunktionen i Access og få den til at importere disse tal til ... tal - selvom de bruger \".\" som decimaltegn.
Har du først talene inde i en tabel, som tal, så er det lige meget, om du bagefter viser dem med \",\" eller \".\"

Avatar billede pewolle Nybegynder
22. november 2000 - 13:21 #6
>moses

Det er rigtigt, men det jeg skal importerer er 3 forskellige rekordtyper, (1:fakturahoved, 2:fakturalinie, 3:fakturatotal).
Datatypen er forskellig, afhængig af om feltet hører til den ene eller anden recordtype.

Derfor kan jeg ikke bruge alm. import.


Eks:

\"*1\",\" 3578877\",\"D\",\"00015935\",\"00\",\"AAM\",\"GUNNAR\"
\"*2\",\" 3578877\",\"D\",\"192711110\",\"          \",\"INDMURINGSBSN.240/110MM \"
\"*2\",\" 3578877\",\"D\",\"192614001\",\"          \",\"PVC-OVERGANG      110 MM \"
\"*9\",\" 3578877\",\"D\",\"0000000000.00\",\"0000000000.00\",\"0000000000.00\"
Avatar billede moses Praktikant
22. november 2000 - 13:59 #7
No futher question your honor !
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