Avatar billede nhoff Nybegynder
09. marts 2005 - 14:01 Der er 8 kommentarer og
1 løsning

Trim-funktionen i en Pass Through qry

Jeg prøver at få nedenstående til at fungere i en Pass Trough qry.
Det er tilsyneladende Trim der giver problemer. I fald det har relevans kan jeg oplyse at nedenstående er en del af en lang Union qry.
Qry'en sendes til en MS SQL 2000 server.

Trim([tblIntInteressent].[fldEfternavn] & isnull([tblForskOphold].[fldComLandID],' (' + [tblComLand].[fldLand] + ')','')) AS Fritekst

Nogen der kan pege på et MSSQL alternativ til Trim?

På forhånd tak.
09. marts 2005 - 14:03 #1
Prøv med LTrim eller RTrim (fjerner fra venstra og højre)
Avatar billede nhoff Nybegynder
09. marts 2005 - 14:06 #2
Ja, den funktion har jeg set, men den fjerner vel ikke flere mellemrum(?)
09. marts 2005 - 14:09 #3
nej :o(

Men jeg forstår ikke, at du ikke kan få Trim til at virke. Den skulle være en gyldig Transact SQL-kommando (jf Books online)....
Avatar billede nhoff Nybegynder
09. marts 2005 - 14:12 #4
Fejlen lyder:
'Trim' is not a recoignized function name (#195)
09. marts 2005 - 14:13 #5
ja, prøvede den lige selv af.

Du benytter jo godt nok heller ikke Transact SQL i en alm. pass through query...

kigger lige videre
Avatar billede kjulius Novice
09. marts 2005 - 21:19 #6
Et par ting, der er værd at undersøge:

1) Jeg tror et af problemerne er, at du ikke kan bruge & til at sammensætte strenge. Til det skal du bruge et plus. & er instruktion til bit-wise AND.

Prøv at erstatte & med +.

2) ISNULL ser ud til at have tre parametre. Iflg. dokumentationen kan den kun have to.

3) Iflg. min version af Transact-SQL Reference findes TRIM ikke, hvorimod både LTRIM og RTRIM optræder.
Evt. kan du jo erstatte trim med LTRIM(RTRIM(..))
Avatar billede kjulius Novice
09. marts 2005 - 21:37 #7
For nu at tage argumenterne til grænsen, så vil jeg foreslå følgende:

RTRIM([tblIntInteressent].[fldEfternavn]) + RTRIM(ISNULL([tblForskOphold].[fldComLandID],' (' + RTRIM([tblComLand].[fldLand]) + ')')) AS Fritekst

Yderligere kommentar: Selv ikke TRIM fjerner mellemrum i en streng (ref. kommentar kl. 14.06). Du er nødt til at fjerne trailing og leading mellemrum inden delstrengene sættes sammen. Jeg har i ovenstående kun brugt RTRIM, da det er mest sandsynligt, at der kun er trailing spaces i felterne.
Avatar billede nhoff Nybegynder
10. marts 2005 - 13:10 #8
-> kjulius
Tak for input. Jeg kender dog ikke forskellen på trailing og leading mellemrum.
Smid et svar
Avatar billede kjulius Novice
10. marts 2005 - 16:52 #9
At your service!
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