Just nu i M3-nätverket
Gå till innehåll

Olika tecken..


Miljarder

Rekommendera Poster

Hejsan,

 

Hmm, jag håller på och kör en update i en ACCESS-databas men det finns men massa "dumma" tecken såsom *,'+- osv.. och del blir ju såklart fel när jag kör det hela.. kan man göra nåt så den tar allt som finns i Col1 som en sträng?

 

UPDATE SET Col1=" & changer(RS("Col1")) & " WHERE ID=" & RS("ID")

 

Tack för hjälpen och ha det bra!

 

//Tomas

 

_________________________________________________

"Det är när det går långsamt som man förlorar sekunder!"

 

 

Länk till kommentar
Dela på andra webbplatser

Mr Andersson

Vilken datatyp har kolumnen? Är det text, så ska inte "dumma" tecken på verka något. Är det nummerfält så blir det med soppa av det....

 

Du kan börja med att sätta din sträng inom fnuttar, då antas det vara en sträng, men om kolumnen är av typen numerisk så blir det soppa ändå.

 

UPDATE SET Col1='" & changer(RS("Col1")) & "' WHERE ID=" & RS("ID")

 

(vad gör din funktion changer() ?)

 

 

 

Länk till kommentar
Dela på andra webbplatser

Tjena.. jo det var ' som ställde till det, löste det men nu är det bekymmer med..

 

texten = Replace(texten,"Ž","Ä")

texten = Replace(texten,"™","Ö")

texten = Replace(texten,"�","Å")

 

 

Detta funkar inte.. hur ska jag göra för att lösa detta?

 

Tack för hjälpen och ha det bra!

 

//Tomas

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon
Detta funkar inte.. hur ska jag göra för att lösa detta?

Ta reda på vilka ASCII-koder tecknen har och använd sedan dess i replace-uttrycken

 

ex.

texten = [color="#0000ff"]Replace[/color](texten,[color="#0000ff"]Chr[/color](65),[GRÅ]"A"[/GRÅ])

 

Länk till kommentar
Dela på andra webbplatser

error '80020009'

change.asp, line 25

 

Detta felmeddelande får jag..

 

texten = Replace(texten,Chr(141),"Å")

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Fungerar bra för mig. Det måste ha att göra med hur datan är representerad i db:n då. Vilken datatyp i Access?

 

Länk till kommentar
Dela på andra webbplatser

Hejsan igen,

 

Nu får jag felmeddelande på rad 7 som är "text = Replace(text,Chr(141),"Å")" och meddelandet är "Invalid use of Null: 'Replace'", nån som har nån idé? Tar jag bort Field12 så funkar det..

 

Eller jag vet ju vad som är fel.. men hur ska jag lösa det?

 

Ha det bra!

 

//Tomas

 

 

__KODEN___________________

 

 

Function changer(text)

 

text = Replace(text,Chr(141),"Å")

text = Replace(text,Chr(142),"Ä")

text = Replace(text,Chr(143),"Å")

text = Replace(text,Chr(144),"Å")

text = Replace(text, "'", "''")

changer = text

 

End Function

 

 

SQL2="SELECT ID, Field9, Field4, Field13, Field12 from TblCheck ORDER by ID"

Set RS2 = Conn.Execute(SQL2)

 

DO UNTIL RS2.EOF

Addera322 = "UPDATE TblCheck SET Field9='" & changer(RS2("Field9")) & "', Field4='" & changer(RS2("Field4")) & "', Field12='" & changer(RS2("Field12")) & "', Field13='" & changer(RS2("Field13")) & "' WHERE ID=" & RS2("ID")

conn.execute(Addera322)

RS2.MOVENEXT

LOOP

 

[inlägget ändrat 2005-04-20 09:56:51 av Miljarder]

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Det beror på (som jag tror att du redan vet) att ett fält i tabellen har värdet Null och ingen giltigt sträng. Pröva att ändar din funktion till:

 

[color="#0000ff"]Function[/color] changer(text)
[color="#0000ff"]If[/color] [color="#0000ff"]IsNull[/color](text) [color="#0000ff"]Then[/color] text=[GRÅ]""[/GRÅ]
text = [color="#0000ff"]Replace[/color](text,[color="#0000ff"]Chr[/color](141),[GRÅ]"Å"[/GRÅ])
text = [color="#0000ff"]Replace[/color](text,[color="#0000ff"]Chr[/color](142),[GRÅ]"Ä"[/GRÅ])
text = [color="#0000ff"]Replace[/color](text,[color="#0000ff"]Chr[/color](143),[GRÅ]"Å"[/GRÅ])
text = [color="#0000ff"]Replace[/color](text,[color="#0000ff"]Chr[/color](144),[GRÅ]"Å"[/GRÅ])
text = [color="#0000ff"]Replace[/color](text, [GRÅ]"'"[/GRÅ], [GRÅ]"''"[/GRÅ])
changer = text

[color="#0000ff"]End[/color] [color="#0000ff"]Function[/color] 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...