Jag skulle vilja ha hjälp med min if-sats i Do While Not:satsen, som inte fungerar. Hej!Problem med IF-satsen
Koden skall hoppa fram i databasen antalet ggr som användare matat in och sedan skall den posten raderas.
<%@Language=VBScript %>
<%Option Explicit %>
<!-#include virtual="/adovbs.inc"->
<HTML>
<BODY>
<FORM METHOD=POST ACTION="Raderat.asp">
<%
Dim objConn
Set objConn = Server.CreateObject("ADODB.connection")
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("Lokaler.mdb")
objConn.Open
Const adLockOptimistic = 3
Const adCmdTable = 2
Dim Nummer, raknare, tabell, objRS
Nummer = Request.Form("Nummer")
tabell=Request.Form("Omrade")
raknare=1
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open tabell, objConn, ,adLockOptimistic, adCmdTable
objRS.MoveFirst
Do While Not objRS.EOF
If (raknare=Nummer) then
objRS.Delete
End If
raknare=raknare+1
Loop
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
</BODY>
</HTML>Sv: Problem med IF-satsen
Denna kod borde fungera, förutsatt att du har ett fält som heter "id" som är kopplat till varje post, och som är unikt.
<%
strArea = Request.Form("Omrade")
' Kolla om det finns en vald tabell och poster att ta bort
strTable = Request.Form("table") ' _nästan_ samma sak som omrade
If strTable <> "" And Request.Form("nr") <> "" Then
' ta bort markerade poster från tabell
Set objConn = Server.CreateObject("ADODB.connection")
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("Lokaler.mdb")
objConn.Open
iDeletedItems = 0
For Each value In Request.Form("nr")
strSQL = "DELETE FROM " & table & " WHERE id=" & CInt(value)
objConn.Execute(strSQL)
iDeletedItems = iDeletedItems + 1
Next
objConn.Close
Set objConn = Nothing
End If
%>
<HTML>
<HEAD><TITLE>Radera post</TITLE></HEAD>
<BODY>
<%
' Ta bort poster
If strTable <> "" And Request.Form("nr") <> "" Then
%>
<%= iDeletedItems %> poster är borttagna.
<% Else %>
<FORM METHOD="POST" NAME="tabort" ACTION="TaBort.asp"">
Välj vilken tabell som du skall radera poster i:
<BR>
<BR>
<SELECT NAME="Omrade" OnChange="document.tabort.submit();">
<OPTION VALUE="">-- Välj område</OPTION>
<OPTION VALUE="Butiker_Skovde">Butiker i Skövde</OPTION>
<OPTION VALUE="ILS_Skovde">Industrilokaler i Skövde</OPTION>
<OPTION VALUE="Kontor_Skovde">Kontor i Skövde</OPTION>
<OPTION VALUE="Ovrigt_Skovde">Övrigt i Skövde</OPTION>
</SELECT>
<BR>
<% ' Om något område INTE är valt
If strArea = "" Then %>
</FORM>
<% End If %>
<%
' Om något område är valt över huvudtaget
If strArea <> "" Then
' Spara ned området i ett gömt fält så att vi vet vilken tabell vi ska ta bort posterna från
%><INPUT TYPE="HIDDEN" NAME="table" VALUE="<%= strArea %>"><%
' Skapa och initiera connectionobjetet så att vi kan ställa frågor mot databasen
Set objConn = Server.CreateObject("ADODB.connection")
objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("Lokaler.mdb")
objConn.Open
%>
<center><Table border="0">
<TR>
<TD COLSPAN="5">
<font size='5'><B> <%
' Sätter rubrik på tabellen
If strArea = "Butiker_Skovde" Then
%>Butiker i Skövde<%
ElseIf strArea = "ILS_Skovde" Then
%>Industrilokaler i Skövde<%
ElseIf strArea = "Kontor_Skovde" Then
%>Kontor i Skövde<%
ElseIf strArea = "Ovrigt_Skovde" Then
%>Övrigt i Skövde<% End If %>:</B><BR></size></center>
</TD>
</TR>
<TR>
<TD width="40"></TD>
<TD width="66"><B>Yta</B></TD>
<TD width="113"><B>Läge</B></TD>
<TD width="413"><B>Beskrivning</B></TD>
<%
strSQL = "SELECT * FROM " & strArea
Set objRS = objConn.Execute(strSQL)
Do Until objRS.EOF
Response.Write "<TR>" & vbCrLf
Response.Write "<TD width=""40""><INPUT TYPE=""CHECKBOX"" NAME=""nr"" VALUE=""" & objRS("id") & """></TD>" & vbCrLf
Response.Write "<TD width=""66"">" & objRS("Yta") & "</TD>" & vbCrLf
Response.Write "<TD width=""113"">" & objRS("Läge") & "</TD>" & vbCrLf
Response.Write "<TD width=""413"">" & objRS("Beskrivning") & "</TD>" & vbCrLf
Response.Write "</TR>" & vbCrLf
objRS.MoveNext
Loop
objRS.Close
Set objRS=Nothing
objConn.Close
Set objConn = Nothing
%>
<INPUT TYPE="SUBMIT" VALUE="Ta bort markerade poster">
</TABLE>
<% End If %>
<% End If %>
</BODY>
</HTML>
Lycka till och lev väl,
Tom S.