'har hentet * fra tabellen hvor id = 1 iniprio = rs("prio") 'så bruger du set rs = "SELECT prio FROM tabel WHERE prio = (" & iniprio & "+1)" 'herefter if not rs.eof then newprio = rs("prio") set rsup = "UPDATE tabel SET prio = " & newprio & " WHERE prio = " & iniprio set rsup = "UPDATE tabel SET prio = " & iniprio & " WHERE prio = " & newprio end if rs.close 'osv
det der sker er at den rigtigt nok sætter priotet til at være en mindre på det første punkt, men den kan ikke finde ud af at sætte priotet til at være +1 på det punkt den finder i databasen, og jeg ender med at de begge har samme værdi
SQL = "SELECT priotet FROM oenskeliste WHERE brugerid="&brugerid&" AND priotet = " & iniprio & "" Set rs = Server.CreateObject("ADODB.Recordset") rs.CursorLocation = 3 rs.CursorType = 3 rs.ActiveConnection = Conn rs.Open SQL, Conn, 1, 3
'herefter if not rs.eof then newprio = rs("priotet") newprio=2 set sql = "UPDATE oenskeliste SET priotet = " & newprio & " WHERE priotet = " & priotet set sql = "UPDATE oenskeliste SET priotet = " & priotet & " WHERE priotet = " & newprio Set rs = Connupdate.Execute (sql) Connupdate.Close end if
'herefter if not rs.eof then newprio = rs("priotet") newprio=2 '?? rs.close
set sql = "UPDATE oenskeliste SET priotet = " & newprio & " WHERE priotet = " & priotet Set rs = Connupdate.Execute (sql, Conn, 1, 3) 'så vidt jeg husker skal man ikke lukke updates
set sql = "UPDATE oenskeliste SET priotet = " & priotet & " WHERE priotet = " & newprio Set rs = Connupdate.Execute (sql, Conn, 1, 3) Connupdate.Close end if
'herefter if not rs.eof then newprio = rs("priotet") newprio=2 '?? rs.close
set sql = "UPDATE oenskeliste SET priotet = " & newprio & " WHERE priotet = " & priotet rs.Open sql, Conn, 1, 3 '***** her nyt ***** 'så vidt jeg husker skal man ikke lukke updates
set sql = "UPDATE oenskeliste SET priotet = " & priotet & " WHERE priotet = " & newprio rs.Open sql, Conn, 1, 3 '***** her nyt ***** Connupdate.Close end if
jeg er dog stadig interesseret i en løsning, for så implementere jeg den bare senere, jeg smider den op på 200pt, og så håber jeg der er nogen der gider lave et system til mig der virker, med database og det hele. Lige nu har jeg nemlig ikke mere tid til den.
databasen er en access database med tabel: 'mens' to kollonner: 'id' der autonummereres 'prio' der er et tal
<% usebase = "test" 'navn på access databasen Set DataConn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") DataConn.Open "DBQ=" & "[din sti til mappen med databasen]" & usebase & ".mdb" & ";Driver={Microsoft Access Driver (*.mdb)};"
iniprio = 3 'prioritet der skal byttes med sekprio = 4 'prioritet der skal byttes med ini bliver til sek og omvendt
rs.open "SELECT * FROM mens WHERE prio = " & iniprio & " OR prio = " & sekprio & " ORDER BY prio", DataConn, 1, 3 if not rs.eof then dim pri dim idt do while not rs.eof pri = pri & rs("prio") & ";" idt = idt & rs("id") & ";" rs.movenext loop pri = left(pri, len(pri)-1) idt = left(idt, len(idt)-1)
pri = split(pri, ";") idt = split(idt, ";")
rs.close rs.open "UPDATE mens SET prio = " & pri(0) & " WHERE id = " & idt(1), DataConn, 1, 3 rs.open "UPDATE mens SET prio = " & pri(1) & " WHERE id = " & idt(0), DataConn, 1, 3 end if
set rs=nothing dataconn.close set dataconn = nothing %>
Hvad ønsker du fra du skal byttes ?? Når du sender filmID og priotet skal filmID så sættes til den valgte priotet og så skal den filmID med den valgte priotet hvade den valgte filmID's priotet?? Eller hvad mener du.
Jeg skal have 2 menupunkter til at bytte plads, det eneste jeg kender som jeg kan sende med linket er filmid og filmpriotet på det menupunkt jeg klikker på.
'Find filmen men næste priotet i rækken SQL = "SELECT TOP 1 * FROM oenskeliste WHERE brugerid=" & brugerid & " AND priotet > " & priotet & " ORDER BY priotet ASC"
Set rs = Conn.Execute(SQL) if not rs.EOF then film2id = rs("id") film2priotet = rs("priotet")
'sæt den nye priotet for det valge menu punkt SQL = "UPDATE oenskeliste SET priotet= " & film2priotet & " WHERE id = " & filmid Conn.Execute (SQL)
'sæt den nye priotet for den film der byttes med SQL = "UPDATE oenskeliste SET priotet= " & priotet & " WHERE id = " & film2id Conn.Execute (SQL) end if %>
Det er et eksemple som du kan prøve hvis du ikke får det andet til at virke og får lidt tid i overskud ;)
Jeg har faktisk ikke haft tid til at afprøve, ville bare lukke spørgsmålet, da jeg følte mig overbevist om at jeres svar nok skulle virke eller hjælpe mig i den rigtige retning, når jeg en gang får tid.
Synes godt om
Ny brugerNybegynder
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.