09. januar 2004 - 17:59
Der er
14 kommentarer og 1 løsning
Slette hvis dato er overskredet
Burde det her ikke slette hvis tildato er overskredet? strSQL = "SELECT * FROM kalender ORDER BY id DESC" Set rs = Conn.Execute(strSQL) do while not rs.eof dato = rs("tildato") id = rs("id").Value if dato < date then strSQL = "DELETE FROM kalender WHERE id = '" & id & "'" Conn.Execute(strSQL) end if rs.MoveNext Loop
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
09. januar 2004 - 18:12
#1
Er din id ikke et tal? Så skal du ikke have '' om.
09. januar 2004 - 18:12
#2
Hvorhenne?
09. januar 2004 - 18:15
#3
strSQL = "DELETE FROM kalender WHERE id = '" & id & "'" --> strSQL = "DELETE FROM kalender WHERE id = " & id
09. januar 2004 - 18:20
#4
Kan man ikke bare gøre sådan?: do while not rs.eof if rs("tildato") < date then strSQL = "DELETE FROM kalender WHERE id = " & rs("id") Conn.Execute(strSQL) end if rs.MoveNext Loop
09. januar 2004 - 18:23
#5
Jo, det er det samme. Man kan endda gøre sådan: do while not rs.eof if rs("tildato") < date then Conn.Execute("DELETE FROM kalender WHERE id = " & rs("id")) end if rs.MoveNext Loop
09. januar 2004 - 18:52
#6
Den sletter ikke noget...
09. januar 2004 - 21:15
#7
Hmm... har lige testet følgende og det virkede: <% Set rs = Server.CreateObject("ADODB.RecordSet") Set Conn = Server.CreateObject("ADODB.Connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("database.mdb") Conn.Open strDSN strSQL = "SELECT * FROM kalender" rs.open strSQL, conn do while not rs.eof if rs("tildato") < date then Conn.Execute("DELETE FROM kalender WHERE id = " & rs("id")) end if rs.MoveNext Loop %> feltet "id" i databasen er autonummerering og feltet "tildato" er natuligvis af datatypen dato og klokkeslet.
09. januar 2004 - 21:17
#8
Har du prøvet bare at udskrive noget for at se om if'en fungerer efter hensigten? Hvis ikke så prøv: do while not rs.eof if rs("tildato") < date then response.Write "post nr. " & rs("id") & " er for gammel..." end if rs.MoveNext Loop Hvad sker der så?
09. januar 2004 - 21:31
#9
der sker ikke noget.... tildato på det jeg tester er 08-01-2004
09. januar 2004 - 21:34
#10
Der mangler lige en " på hver side af date do while not rs.eof if rs("tildato") < "" & date & "" then response.Write "post nr. " & rs("id") & " er for gammel..." end if rs.MoveNext Loop
09. januar 2004 - 21:36
#11
smid et svar
09. januar 2004 - 21:37
#12
ok :) Løste " problemet?
09. januar 2004 - 21:40
#13
Hos mig gør den tilføjelse ganske vist at ALT ryger, men hvis det virker hos dig, så hey...
09. januar 2004 - 21:44
#14
det virker :) takker
09. januar 2004 - 21:50
#15
Glimrende :o) Tak for point.
Kurser inden for grundlæggende programmering