Jag har ett problem som inte är alldeles enkelt att förklara, men jag gör ett försök. Hur gör du när du uppdaterar? Så här ser koderna ut! <hmm> Din kod är lite snurrig men är det så att du vill godkänna rad för rad eller ska alla godkännas om man trycker på godkänn??? Alla som ändras skall ju godkännas. Hejsan!Uppdatera databas
Jag har en databas (Access 2000) där jag har kolumnerna "fnamn" "enamn" "username" "losen" och "godkänd"
Vad jag vill göra är att lista alla poster som har ett tomt fält i kolumnen "godkänd" samt att kunna uppdatera denna kolumn med ett X på de som jag godkänner.
De försök jag har gjort har kommit så långt att listningen verkar ok, men när jag uppdaterar sätts alltid X:et i första posten. Dessutom kommer det alltid med ett komma-tecken som jag inte blir av med.
Är det någon som är beredd att hjälpa mig mailar jag gärna filerna jag gjort (2st) så ser ni säkert vad det är jag är ute efter.
/ThomasSv: Uppdatera databas
Skriver du en SQL sträng för att göra det eller använder du något objekt?
MVH
//JonasSv: Uppdatera databas
FIL 1
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindatabas.mdb")&";pwd=1234"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From mintabell ORDER BY enamn"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<% Dim fnamn, enamn, godkann %>
<body bgcolor="#000000" text="#000000">
<div align="center">
<center>
<table width="500" border="0" cellspacing="2" cellpadding="2" style="border-collapse: collapse">
<tr>
<td bgcolor="#999999" colspan="2"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">ANMÄLDA</font></b>
</td>
</tr>
<tr>
<td bgcolor="#CCCCCC" height="15">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>Namn</b></font>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>och
Rollnamn</b></font></td>
<td bgcolor="#CCCCCC" height="15">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b> Godkänd?
X=JA</b></font></b>
</td>
</tr>
<% X = 0
DO Until RecSet.EOF OR X = 200
X=X+1
%>
<tr>
<td bgcolor="#CCCCCC" height="15"> <form name="form1" method="post" action="do_change_godkand.asp?checkid=<%=Request.QueryString("checkid")%>">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><%=RecSet("id")%> - <%=RecSet("enamn")%>, <%=RecSet("fnamn")%>- <%=RecSet("rollnamn")%></font>
</td>
<td bgcolor="#CCCCCC" height="15">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"><%=RecSet("godkand")%></font></b>
</td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
</table>
</center>
<p align="center"><input type="submit" name="Submit" value="Godkänn" class="knapp">
<p align="center">
STÄNG FÖNSTER<font face="Verdana" size="1" color="#FFFF00">
</div>
</font>
</body>
</html>
FIL 2
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindatabas.mdb")&";pwd=1234"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From mintabell"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet("godkand") = Request.Form("godkand")
RecSet.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "tillsida.asp"
%>Sv: Uppdatera databas
MVH
//JonasSv: Uppdatera databas
Säg att jag har 10 som anmält sitt intresse, men jag godkänner bara 5 så sätter jag ett X i rutan för dem jag godkänner och klickar på Submit knappen för att bekräfta de 5.Sv: Uppdatera databas
Gjorde om din sida lite.. Jag utgick från att ditt fält godkand i databasen är ett Yes/No värde?!
Här är iaf filerna:
<b>FIL 1</b>
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindatabas.mdb")&";pwd=1234"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From mintabell ORDER BY enamn"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
.huvudrubrik {font-famly: "Verdana, Arial, Helvetica, sans-serif"; font-size: 12pt; font-weight: bold}
.lista_rubrik {font-famly: "Verdana, Arial, Helvetica, sans-serif"; font-size: 10pt; font-weight: bold}
.lista_text {font-famly: "Verdana, Arial, Helvetica, sans-serif"; font-size: 10pt}
</style>
</head>
<% Dim fnamn, enamn, godkann %>
<body bgcolor="#000000" text="#000000">
<div align="center">
<table width="500" border="0" cellspacing="2" cellpadding="2" style="border-collapse: collapse">
<tr>
<td bgcolor="#999999" colspan="2" class="huvudrubrik">ANMÄLDA</td>
</tr>
<tr>
<td bgcolor="#CCCCCC" height="15" class="lista_rubrik">Namn och Rollnamn</td>
<td bgcolor="#CCCCCC" height="15" class="lista_rubrik"> Godkänd? X=JA</td>
</tr>
<form name="form1" method="post" action="do_change_godkand.asp">
<input type="hidden" name="checkid" value="<%=Request.QueryString("checkid")%>">
<%
'Starta en loop som kör tills det inte finns några fler
While Not RecSet.EOF
%>
<tr>
<td bgcolor="#CCCCCC" height="15" class="lista_text"><%=RecSet("id")%> - <%=RecSet("enamn")%>, <%=RecSet("fnamn")%>- <%=RecSet("rollnamn")%></td>
<td bgcolor="#CCCCCC" height="15" class="lista_text"><input type="checkbox" name="godkand" value="<%=RecSet("id")%>" <%=iif(RecSet("godkand") = true, "checked", "")%>></td>
</tr>
<%
'flytta fram en position i recset
RecSet.MoveNext
Wend
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
</table>
<p align="center"><input type="submit" name="Submit" value="Godkänn" class="knapp">
<p align="center">STÄNG FÖNSTER
</div>
</body>
</html>
<b>FIL 2</b>
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("mindatabas.mdb")&";pwd=1234"
'Set RecSet = Server.CreateObject("ADODB.Recordset")
For Each Id In Reqest.Form("id")
Addera = "UPDATE mintabell SET godkand = '" & abs(true) & "' WHERE Id = " & Id & ";"
Connect.Execute Addera
Next
'Addera = "Select * From mintabell"
'RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
'RecSet("godkand") = Request.Form("godkand")
'RecSet.Update
'RecSet.Close
Connect.Close
'Set RecSet = nothing
Set Connect = nothing
Response.Redirect "tillsida.asp"
%>
Jag hoppas dom funkar, jag har inte testat dom själv eftersom jag inte har databasen.. Men om dom inte funkar så är det ju bara å felsöka lite.. Å hittar du inte felet så är det bara å fråga.. :)
MVH
//Jonas