Avatar billede bugger2 Nybegynder
17. februar 2011 - 15:05 Der er 4 kommentarer og
1 løsning

cstr smider 0 væk

Hejsa

cstr(123) = 123
cstr(0123)= 123

hvordan får jeg cstr til at undgå at smide 0 væk.
Jeg har en sqlstreng der er sådan her:

STRSQL="SELECT br05.br5Kode, br05.br5tekst, br06.br06kode, br06.br06tekst, DB07br04.br4code, DB07br04.br4tekst FROM DB07br04 INNER JOIN (br05 LEFT JOIN br06 ON br05.br5Kode = br06.br05kode) ON DB07br04.br4code = br05.br04kode where br4code=Cstr(" & ypkode & ") order by br5kode, br06kode"

når ypkode er f.eks 531108 g[r det fint, men hvis ypkoden er 025467 går det galt da der er et foranstillet 0 som bliver smidt væk
Avatar billede kabbak Professor
17. februar 2011 - 19:37 #1
STRSQL="SELECT br05.br5Kode, br05.br5tekst, br06.br06kode, br06.br06tekst, DB07br04.br4code, DB07br04.br4tekst FROM DB07br04 INNER JOIN (br05 LEFT JOIN br06 ON br05.br5Kode = br06.br05kode) ON DB07br04.br4code = br05.br04kode where br4code= '" & ypkode & ", order by br5kode, br06kode"

måske sådan
Avatar billede kabbak Professor
17. februar 2011 - 19:38 #2
STRSQL="SELECT br05.br5Kode, br05.br5tekst, br06.br06kode, br06.br06tekst, DB07br04.br4code, DB07br04.br4tekst FROM DB07br04 INNER JOIN (br05 LEFT JOIN br06 ON br05.br5Kode = br06.br05kode) ON DB07br04.br4code = br05.br04kode where br4code= '" & ypkode & "' order by br5kode, br06kode"

jeg kom til at lave et komma i første kommentar, det er ændret her
Avatar billede tjens Nybegynder
17. februar 2011 - 20:51 #3
Hvis din ypkode er numerisk, kan du ikke få foranstillede tal med.

Hvis din br4code i databasen er en string kan du skrive en rutine, der sætter nuller foran indtil længden er 6 (som jeg gætter på du har brug for her):


Function CstrTo6long(i)

    n = Cstr(i)
   
    do while len( n ) < 6
        n =  "0" & n
    loop
   
    CstrTo6long= n

End function

Og så bruge den i din linie:

    STRSQL="SELECT br05.br5Kode, br05.br5tekst, br06.br06kode, br06.br06tekst, DB07br04.br4code, DB07br04.br4tekst FROM DB07br04 INNER JOIN (br05 LEFT JOIN br06 ON br05.br5Kode = br06.br05kode) ON DB07br04.br4code = br05.br04kode where br4code='" & CstrTo6long(ypkode) & "' order by br5kode, br06kode"


Ved f.eks. værdien 123 i ypkode bliver sql'en sådan her: ... where br4code='000123' ...
Avatar billede bugger2 Nybegynder
05. marts 2011 - 16:14 #4
Tjens -det er fantastisk :-)
Smid et svar så du kan få poooints
Avatar billede tjens Nybegynder
05. marts 2011 - 21:57 #5
OK
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
Kurser inden for grundlæggende programmering

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