Avatar billede sjoran Nybegynder
30. marts 2011 - 10:31 Der er 2 kommentarer og
1 løsning

Transformering af kunde id

Jeg skal have ryddet op i nogle data inden jeg kan arbejde videre med dem i min database. Men jeg er gået lidt kold i det. Nedenfor er eksempler på hvordan id'erne ser ud nu (venstre side) og til højre er hvordan jeg gerne vil have dem til at se ud.

Old_id                New_id
060259-089      K060259089K
06693012          06693012
290681-251J    290681251J
030752A077F  030752077F
270696+246Y  270696246Y
0000039933    39933
0000107805    107805
00399501          399501
    7218              7218

Jeg vil altså gerne fjerne A, +, - hvis det står som 5. fra højre. Derudover vil jeg gerne fjerne alle foranstillede nuller, hvis det sidste ciffer er et tal. Der hvor id'et slutter med et bogstav vil jeg beholde nuller foran. Og til sidst skal jeg også generelt have fjerne alle blanke foran id'et.

Nogen der kan hjælpe evt. med noget VBA kode til at konvertere.
Avatar billede neoman Novice
30. marts 2011 - 12:29 #1
Her er nogle funktioner du nok skal bruge -  slå dem op i Help.

- Left
- Right
- InStr
- Mid
- IsNumeric
- Replace
- Format
- Trim
Avatar billede Slettet bruger
30. marts 2011 - 16:31 #2
vba afslører sin alder med f.eks. mid's ufleksibilitet - har ofte denne i et standard modul:

Function mid(str, index, Optional length)
    If index < 0 Then index = Len(str) + index + 1
    mid = VBA.mid(str, index, length)
End Function

immediate>
?Mid("270696+246Y",-5,1)
+
Avatar billede sjoran Nybegynder
31. marts 2011 - 11:06 #3
Jeg fandt selv en løsning via en query

step1: IIf(Mid([Cust_id],7,1) In ("A","-","+"),Left([Cust_id],6) & Right([Cust_id],4),[Cust_id])

step2: IIf(IsNumeric(Right([step1],1)),Replace(Trim(Replace([step1],"0"," "))," ","0"),[step1])
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