Avatar billede faithless Praktikant
18. december 2013 - 10:00 Der er 6 kommentarer og
1 løsning

Tæl antal " i en string

Hej

Jeg har et lille problem, da jeg har en tabel som skal læses ud som CSV hvor der er " " rundt om værdierne. Problemet ligger i at nogle af værdierne også indeholder " i navnet og det skaber lidt problemer hvis der er et ulige antal " for så ser det ud som om at alt efterfølgende er 1 rekord i mit indlæsnings program.

Jeg har brug for en løsning i Access, men kan ikke lige finde en selv, så håber i kan hjælpe. Jeg tænkte på at lave en funktion som tæller forekomsten af " i en streng, men kan ikke lige lure hvordan i Access og om det at det er " skaber problemer fordi " også bruges til at afgrænse hvis det er tekst.

Jeg har lavet en funktion i Excel som tæller ., som jeg ville prøve at ændre til Access og med i " i stedet for .

=LÆNGDE(E2)-LÆNGDE(UDSKIFT(E2;".";""))

Vil helst løse det med en funktion, hvis det kan lade sig gøre.

Mvh
Thomas
Avatar billede claes57 Ekspert
18. december 2013 - 13:51 #1
=LÆNGDE(E2)-LÆNGDE(UDSKIFT(E2;TEGN(34);""))
tegn(34) er " du kan se det i tegntabel (bemærk at tegntabel har værdi i hex, så 0022 er 34)
Avatar billede faithless Praktikant
18. december 2013 - 15:59 #2
Tak for svaret. Jeg har prøvet at lave den om til funktionerne i mit Access 2010, men kan ikke helt få det til at spille. Kan du se om der er noget forkert

Len([MarketsoftData]![Firmanavn])-Len(Erstat([MarketsoftData]![Firmanavn];Chr(34);"";;;))

Jeg kan ikke find hjælp på Erstat funktionen, så ved ikke hvad jeg skal fylde i de tomme pladser eller om det overhovedet er den som skal bruges. Har prøvet at kigge efter en replace eller substitude, men har ikke kunnet finde dem i min Access.

Erstat(«streng»; «søg»; «erstat»; «start»; «antal»; «sammenlign»)
Avatar billede claes57 Ekspert
18. december 2013 - 16:57 #3
prøv på engelsk
Replace ( string1, find, replacement, [start, [count, [compare]]] )
reelt skal der kun de første 3 parametre med, så
Len([MarketsoftData]![Firmanavn])-Len(Replace([MarketsoftData]![Firmanavn],Chr(34),""))
jeg er lidt i tvivl om det er komma eller semikolon som adskiller - jeg har ikke access selv.
Avatar billede claes57 Ekspert
18. december 2013 - 16:57 #4
Avatar billede faithless Praktikant
19. december 2013 - 11:07 #5
Har fået det til at virke med denne

Len([MarketsoftData]![Firmanavn])-Len(Erstat([MarketsoftData]![Firmanavn];Chr(34);"";1;50))

Smid et svar så du kan få point og tak for hjælpen og God jul og godt nyt år.

Mvh
Thomas
Avatar billede claes57 Ekspert
19. december 2013 - 11:23 #6
Bare luk selv
Avatar billede faithless Praktikant
19. december 2013 - 11:38 #7
Takker og tak for hjælpen
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

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