Avatar billede vtl Nybegynder
20. juni 2003 - 22:14 Der er 3 kommentarer og
1 løsning

checkbox delete

hej

jeg har dette script på index.asp

  <table width="700" border="0" align="center">
<%
  ' Recordset Object
  Dim rs
      Set rs = Server.CreateObject("ADODB.Recordset")
     
      ' opening connection
      rs.Open "select [ID],[FilName],[FilStr],[Type]," & _
        "[FirstName],[LastName],[Profession],[iname] from Files " & _
        "order by [ID] desc", connStr, 3, 4

      If Not rs.EOF Then
        Response.Write "<tr><td class=tdnewssub colspan=""9"" align=""center""><i><div class=infotext>"
        Response.Write "No. of records : " & rs.RecordCount
        Response.Write ", Table : Files and have a Total filesize "& intTotalSize &"</div></i><br>"
        Response.Write "</td></tr>"
        response.write "<form name=""deliting"" action=""delete2.asp"" method=""post"">"

        Do While Not rs.EOF
            Response.Write "<tr><td class=tdnewshead><div class=text>"
            Response.Write rs("ID") & "</div></td><td>"
            Response.Write "<a href=""file.asp?ID=" & rs("ID") & """>"
            Response.Write rs("iname") & "</a></td><td><div class=text>"
            Response.Write rs("FilName") & "</div></td><td><div class=text>"
            Response.Write rs("FilStr") & "</div></td><td><div class=text>"
            Response.Write rs("Type") & "</div></td><td><div class=text>"
            Response.Write rs("FirstName") & "</div></td><td><div class=text>"
            Response.Write rs("LastName") & "</div></td><td><div class=text>"
            Response.Write rs("Profession") & "</div></td><td>"
            Response.Write "<input type=""checkbox"" name=""ids"" value=" & rs("ID") & ">"
            response.Write "</td></tr>"
            rs.MoveNext
        Loop
        Response.Write "<tr><td class=tdnewssub colspan=""9"" height=3 align=""center"">"
        Response.Write "</td></tr><tr><td colspan=""9"" align=""right"">"
        Response.Write "<input type=""submit"" name=""btnDelete"" value=""Delete Selected Records""></form>"
        Response.Write "</td></tr>"
        Response.Write "</table>"

      Else
        Response.Write "No Record Found"
      End If
     
      rs.Close
      Set rs = Nothing
%>

det viser mine oplysninger fra min database og et checkbox bag hvert udtræk !!!!

någ jeg så har klikket på nogle af mine udtræk og klikket på delete så bruger den dette script til at slette med

DELETE2.asp
<%
Dim item
Dim i
Dim conn, cn
Dim rsDel

i = 0

conn = "DBQ="&(Server.MapPath(".")) & "\FileDB.mdb; DefaultDir=DBQ="&(Server.MapPath(".")) &"\;Driver={Microsoft Access Driver (*.mdb)};" 
Set cn = Server.CreateObject("ADODB.Connection")
cn.open = conn

If Request.Form("deliting").Count > 0 Then

For Each item In Request.Form("ids")
    cn.Execute("delete from Files where ID=" & item)

    i = i + 1
  Next
End If
%>

<%   
cn.close
Response.redirect ("index.asp")
%>

og så skulle den slette de indlæg som er krydset af og vende tilbage til index.asp og vise de indlæg som er tilbage i min database !!!!

men det virker ikke når jeg klikker på nogle udtræk og klikker delete så viser den index.asp igen som den skal men der er ikke slette nogle indlæg !????

Nogle der kan hjælpe ??? og evt rette mit script !???
Avatar billede eagleeye Praktikant
20. juni 2003 - 22:19 #1
Din checkbox kalder du for  ids

"<input type=""checkbox"" name=""ids""


I din kode som sletter ehdner du nogle chsckboxe som hedder:  deliting

If Request.Form("deliting").Count > 0 Then


Prøv at rette if sætningen så den passer med ids

If Request.Form("ids").Count > 0 Then
Avatar billede eagleeye Praktikant
20. juni 2003 - 22:21 #2
Du kan evt lavet dette om:

If Request.Form("deliting").Count > 0 Then

For Each item In Request.Form("ids")
    cn.Execute("delete from Files where ID=" & item)

    i = i + 1
  Next
End If



Til dette :

idlist = Request.Form("ids")
idArr = Split(idlist, ",")
for i = lbound(idArr) to ubound(idArr)
  cn.Execute("delete from Files where ID=" & idArr(i))
Next
Avatar billede vtl Nybegynder
20. juni 2003 - 22:22 #3
holdkæft hvor flovt !!!! he he

jeg takker jeg viste det bare var en lille fejl men kunne ikke lige se det !!!!
Jeg takker for den hurtige svar tid !!!!!
Avatar billede eagleeye Praktikant
20. juni 2003 - 22:23 #4
;)  Er det Access kan du bruge IN så du kan slette X antal med en SQL sådan her:

idlist = Request.Form("ids")
if idlist <> "" then
  cn.Execute("delete from Files where ID IN (" & idlist & ")")
end if
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