Avatar billede dkoclni Nybegynder
18. februar 2005 - 15:23 Der er 7 kommentarer og
1 løsning

Indsæt tekststreg med specieltegn?

Her er nok en nem en - men det er fredag og klokken er snart fyraften - såååååå.......

Kort: Jeg har et tekstfelt hvor i brugeren kan skrive en masse tekst. Dette er som oftest på fremmedsprog, hvorfor der lystigt bliver brugt tegnet: '

Det spiller jo så bare ikke når jeg skal indsætte/manipulere denne streng via et SQL kald i vb, da den dermed afbryder tekststrengen med dette tegn.

Hvordan håndtere man nemmest tegn som dette....?

Et kort eksempel (og måske ikke verdens flotteste kode):

    Dim strSQL As String
    intID = Me!LST_Holdnavn.ItemData(LST_Holdnavn.ListIndex)
    strSQL = "UPDATE [Holdbeskrivelse] SET [Beskrivelse] = '"
    strSQL = strSQL & Me.TXT_Beskrivelse.Value
    strSQL = strSQL & "' WHERE [ID] = " & intID

    DoCmd.SetWarnings False
    DoCmd.RunSQL (strSQL)
    DoCmd.SetWarnings True

Håber det giver mening....
Avatar billede kabbak Professor
18. februar 2005 - 15:28 #1
strSQL = strSQL &""" & Me.TXT_Beskrivelse.Value &"""

et forsleg, jeg ved ikke om det kan bruges
Avatar billede jtbroad Nybegynder
18. februar 2005 - 16:57 #2
i c# vil det nok være strSQL = strSQL + @Me.TXT_Beskrivelse.Value + "'"

ved ikke hvad symbolet i VB til at opfatte efterfølgende string som literal værdi er

ellers skal du have noget string behandling til at omslutte ' symbolerne i din string
måske
Avatar billede dkoclni Nybegynder
21. februar 2005 - 11:07 #3
Kabbak: Nix det virker ikke, da det jo resultere i at strengen: 
& Me.TXT_Beskrivelse.Value &
bliver indsat.

I f.eks. JAVA skriver man et backslash \ foran special tegn, så de ikke bliver tolket. Gør jeg det her, så er resultatet det samme som uden et backslash - strengen bliver tolket som afsluttet i det den når til ' tegnet.....

Findes der ikke en tilsvarende "funktion" i VB for at udelukke specialtegn?
Avatar billede dkoclni Nybegynder
21. februar 2005 - 11:12 #4
Har fundet svaret - det stod allerede herinde:
http://eksperten.dk/spm/186620

Der skal blot skrives to '' tegn i træk - det ene bliver ignoreret og det andet indsat i databasen....
Avatar billede dkoclni Nybegynder
21. februar 2005 - 11:29 #5
I øvrigt, tak for budene begge to....
Avatar billede dkoclni Nybegynder
21. februar 2005 - 11:56 #6
Lige for at vise kode, hvis der evt. skulle være andre der i fremtiden støder ind i samme problem, så er brug funktionen Replace:

strBeskrivelse = Replace(Me.TXT_Beskrivelse, "'", "''")
Avatar billede jtbroad Nybegynder
21. februar 2005 - 12:11 #7
Tillykke.
husk at acceptere et svar fra dig selv og luk spørgsmålet :-)
Avatar billede dkoclni Nybegynder
21. februar 2005 - 12:16 #8
Ha! Takker! ;)
Spg. er allerede lukket....
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