Avatar billede labanen Nybegynder
25. februar 2004 - 10:14 Der er 10 kommentarer og
1 løsning

sql update i flere udvalgte rækker

er det muligt at lave en sql sætning... eller et loop med flere sql sætninger som updaterer flere rækker i en access database.

Mere specifikt skal jeg have opdateret alle rækker hvor en speciel værdi optræder a'la :

strSQL = "Update Tabel Set kolonne1 ='nyværdi' Where kolonne1='gammelværdi'"

Denne kode virker bare ikke fordi jeg tilsyneladende ikke kan bruge "where" når udtrykket passer på flere rækker i min tabel. Er der nogen løsningsforeslag ?
Avatar billede dk_akj Nybegynder
25. februar 2004 - 10:20 #1
Din syntax er rigtig nok.

Får du en fejl ?
Hvad er det der ikke virker ?

//akj
Avatar billede labanen Nybegynder
25. februar 2004 - 10:24 #2
kan det godt virke når man får valgt flere rækker ud ? nu slettede jeg min kode i et forsøg på at rette op på fejlen, men jeg kan lige genskabe det og se hvilken fejlkode jeg får...
Avatar billede labanen Nybegynder
25. februar 2004 - 10:25 #3
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede dk_akj Nybegynder
25. februar 2004 - 10:38 #4
Det er fordi enten nyværdi eller gammelværdi er blank


strSQL = "Update Tabel Set kolonne1 ='nyværdi' Where kolonne1='gammelværdi'"

response.write strSQL
response.end

Hvad udskriver den ??

//akj

ps:Du bør generelt ikke bruge ØÆÅ i variabler.
Avatar billede dk_akj Nybegynder
25. februar 2004 - 10:40 #5
Jeg går ud fra at din sql her bare er et eksempel.


strSQL = "Update Tabel Set kolonne1 ='nyværdi' Where kolonne1='gammelværdi'"

Hvis den skulle være rigtig skal du lige have et par &'er med

strSQL = "Update Tabel Set kolonne1 ='" & nyværdi & "' Where kolonne1='" & gammelværdi & "'"

//akj
Avatar billede labanen Nybegynder
25. februar 2004 - 10:42 #6
ah men det er jo pseudo navne for at gøre min kode nem at overskue for jer eksperter.

den rigtige kode er sådan her :
  strSQL = "Update Forums Set F_Status = '"& identifier &"' Where F_Status=" & request.querystring("old")

jeg laver response.write øvelsen om 5 minutter, god idé !
Avatar billede labanen Nybegynder
25. februar 2004 - 10:49 #7
Update Forums Set F_Status = 'done testing' Where F_Status=tester

skriver den til mig på en "response.write strSQL".
Avatar billede dk_akj Nybegynder
25. februar 2004 - 10:54 #8
Du skal lige have plinger om den sidste tester
strSQL = "Update Forums Set F_Status = '"& identifier &"' Where F_Status='" & request.querystring("old") & "'"

//akj
Avatar billede labanen Nybegynder
25. februar 2004 - 10:57 #9
doh... ja selvfølgelig. Det har kun taget 3 timer at finde ud af det. Tak det virker absolut smertefrit nu.
Avatar billede labanen Nybegynder
25. februar 2004 - 10:57 #10
jeg var sikker på at det var fordi der skulle rettes i flere rækker..
Avatar billede dk_akj Nybegynder
25. februar 2004 - 11:38 #11
Det glemmer du aldrig ;-)

Tak for pts
//akj
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