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
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