Hej!
Suttit länge nu och sökt och testat men verkar inte lyckas få till detta :-(
Jag har en sträng med ord separerade med kommatecken som jag vill skapa en array av men hur jag än gör så verkar arrayen tolka det som ett ord och inte t.ex. 3 olika (separerade med kommatecken).
Kör jag en split på kommatecken och försöker lägga in det så får jag felmeddelande att det är ett ogiltigt typnamn.
Tack för snabbt svar! :-)
Ja, den här sista raden används så här och det är där man får felmeddelandet om ogiltigt typnamn. Skippar jag raden med "orden=split(strangen,",")" så får jag inget felmeddelande om ogiltigt typnamn, men då tolkas istället alla ord som ett i arrayen (den får bara ett värde istället för t.ex. 3 värden).
set x = command.Execute(sql, array(orden))
words(i) är en for/next loop som skriver ut olika namn. Skriver jag ut "strangen" så ser det t.ex. ut så här:
Anders,Fredrik,Rickard
Jag har också testat ändra så utskriften blir så här:
'Anders','Fredrik','Rickard'
words = split(fnamn)
for i = 0 to ubound(words)
if t = "" then
strangen=""&words(i)&""
else
strangen=strangen & "," & ""&words(i)&""
end if
next
så vid en split(fnamn) så kommer den splitar på " " (mellanslag)
Ocg in det bara är så att du vill delar en sträng och sätta ihop den med "," så kan du köra en join(array, ",")
(eller köra en replace på " " och ersätt den med ",")
Hänger inte riktigt med på vad du ha för data och vad du vill ha för data när din kod har körts.
Det jag vill med den är att varje ord ska skickas in i array(orden) så att det blir lika många i antal som motsvarande ? som jag har i min sql sats, vilket alltså är ett per ord som finns i den där strängen fnamn.
Men den vill som sagt bara tolka det jag har i "orden" som ett värde och inte flera i min sista rad: set x = command.Execute(sql, array(orden))
noshornin, ja det tycker jag med men då tolkar den det som ett ord och inte 3 ord :-(
Har jag 3 st värden (?) i min sql sats och skickar iväg som du skriver med array(strangen) så får jag felmeddelande "Det har inte angetts något värde för en eller flera nödvändiga parametrar."
Byter jag ut set x = command.Execute(sql, array(orden)) och istället skriver in orden manuellt i koden så att jag alltså skriver så här:
set x = command.Execute(sql, array(fredri,anders,rickard)) så fungerar det som det ska.
Så det jag inte förstår är varför den tolkar min "orden" som ju innehåller precis samma sak som ett ord, men inte när jag skriver in det manuellt.
Tack Voigtann men det blir tyvärr samma felmeddelande om jag tar bort split och använder
set x = command.Execute(sql, orden)
D.v.s. "Det har inte angetts något värde för en eller flera nödvändiga parametrar."