30. maj 2003 - 11:36
Der er
23 kommentarer og 1 løsning
Opdatering af tabel
Hej Jeg har et kunde system i ASP hvor jeg lige har lavet noget nyt til, men jeg kan sgu ikke helt få det til at virke!!! Jeg henter et bestemt UDVALG hvor jeg så bagefter henter alle mine kunder, nu har jeg lavet en chekcboks ud for hver kunde, de kunder der er krydset af, skal gemmes i en ny tabel med udvalgsid, kundeid, firmanavn, adresse, post og by.. Men hvordan gemmer jeg noget tekst fra siden, jeg har kun prøvet fra form felter.... Nedenstående er min kode <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/crm.mdb") Conn.Open DSN %> <% set rskunder = Conn.execute("SELECT * FROM udvalg WHERE id=" & request("id")) %> <body bgcolor="#FFFFFF"> <font face="Verdana, Arial, Helvetica, sans-serif"></font><table width="962" border="0" height="84"> <tr> <td width="553" height="90"> <table width="54%" border="0" height="1" bgcolor="#000000" bordercolor="#000000" cellpadding="1" cellspacing="1"> <tr> <td height="54" bgcolor="#CCCCCC"> <table width="546" border="0" cellspacing="0"> <tr> <td colspan="2"> <b><font size="4"><font face="Verdana, Arial, Helvetica, sans-serif"> <%Response.Write rskunder("udvalgsnavn")%> </font> </font></b> <b><font size="4"><font face="Verdana, Arial, Helvetica, sans-serif"> </font></font></b> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></td> <td width="77"> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></td> </tr> <tr> <td width="55"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> Beskrivelse.:</font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("udvalgsbeskrivelse")%> </font></td> <td width="77"> </td> </tr> <tr> <td width="55"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> Ansvarlige.:</font></td> <td width="437"> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("ansvarlige")%> </font></div> </td> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("id")%> </font></div> </td> <td width="77"> </td> </tr> </table> </td> </tr> </table> </td> <td width="399" height="90"> </td> </tr> </table> <p> </p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Kunder </b></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b></b></font> <br> <form name="form1" method="post" action="udvalgskort.asp?mode=gem"> <table width="913" border="0" height="1"> <tr> <td height="1" bgcolor="#000000" bordercolor="#000000"> <% set rskunder = Conn.execute("SELECT * FROM kunder") do until rskunder.eof%> <table width="85%" border="0" height="1" bgcolor="#CCCCCC" bordercolor="#CCCCCC"> <tr> <td height="1" bgcolor="#CCCCCC"> <table width="904" border="0" cellspacing="1" bordercolor="#CCCCCC" bgcolor="#CCCCCC" height="20"> <tr bordercolor="1"> <td width="165" height="14"> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <input type="checkbox" name="C1" value="ON"> <%Response.Write rskunder("Firmanavn")%> </font></a></div> </td> <td width="148" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("Adresse")%> </font></a></td> <td width="206" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("Postnr")%> </font></td> <td width="121" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("By")%> </font></td> <td width="121" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("kundeid")%> </font></td> </tr> </table> </td> </tr> </table> <% rskunder.movenext loop rskunder.Close set rskunder = Nothing %> </td> </tr> </table> <p><input type="submit" value="gem" name="mode"><input type="reset" value="Nulstil" name="B2"></p> </form> <% if request("mode") = "gem" then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/crm.mdb") Conn.Open DSN set rskunder = server.createobject("adodb.recordset") rskunder.open "udvalgs-kunder", DSN, 1, 3 rskunder.addnew rskunder ("udvalgsid") = request.form("id") rskunder("kundeid") = request.form("kundeid") rskunder("kundenavn") = request.form("kundenavn") rskunder("adresse") = request.form("adresse") rskunder("post") = request.form("post") rskunder("by") = request.form("by") rskunder.update %> <% rskunder.Close set rskunder = Nothing%> Projektet er gemt - <a href="projektoversigt.asp">Tilbage</a><%end if%>
Annonceindlæg fra Admin By Request
Du har både mode=gem i action delen samt din submit knap hedder mode med value gem Så den kommer ikke ind i det som gemmer data, da request("mode") vil være gem,gem if request("mode") = "gem" then Så prøv i stedet if request.QueryString("mode") = "gem" then
jamen er der ikke også problemer med rskunder("by") = request.form("by") når det er tekst jeg vil gerne ned i tabellen! Jeg vil gerne give 200 point for den der kan tilpasse koden sådan at det virker med den checkboks o.s.v
men for du kan gemme de forskellige oplysninger skal de ind i nogle input felter. Det udksrives kun værdien af hvad der står.: <%Response.Write rskunder("Adresse")%> <input type=text name=adresse value="<%Response.Write rskunder("Adresse")%>">
Hej Eagleeye Vil du ikke være så flink at rettekoden, skal jo også have det der Checkboks til at virke...
Jo det vil jeg gerne med så skal jeg hvade forklaret det ordenlidt, hvad der skal ske. Ført henter du denne: set rskunder = Conn.execute("SELECT * FROM udvalg WHERE id=" & request("id")) og udskriver den. Så lister du alle kunder og ved dem som der er kryds i skal laves en ny post i en anden tabel?
Det som skal i kolonne rskunder ("udvalgsid") er det det samme som request("id")) i den før nævnte SQL?
Samt disse: rskunder("kundenavn") = request.form("kundenavn") rskunder("adresse") = request.form("adresse") rskunder("post") = request.form("post") rskunder("by") = request.form("by") Er det rigtigt forstået det er data omkring de kunderne, altså de data som står omkring chekboksen?
Dem som jeg sætte kryds ved skal gemmes i en ny tabel, sådan at jeg kan trække dem ud til senere bearbejdelse...
og kundeid vil jeg også gerne have...
Ok. kigger på det vender tilbage så hurtigt som muligt.
PAS NU PÅ! BY er et reserveret ord, og derfor dårligt valg til et kolonnenavn. Omdøb den evt. til BYNAVN.
Prøv med dette. Jeg har lavet det sådan at den gemmer kundid i value på checkboksen, da man kun får value på de checkbokse som er valgt når formen sendes. De har alle samme navn og derfor får man en liste med kundeID med komma imellem 3,5,2,67 osv. men kun dem som er valgt. Så har jeg lavet det sådan at der hvor man indsætter i den nye table hendter den info fra kunder tabellen med det et kundeID af gangen og kun dem som er valgt. Pga af der ikke noget nogen grund til at overføre adresse/by/osv på alle kunderne, speveilt ikke hvis der er mange kunder. Ellers har jeg behold din kode som den var. Prøv med: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/crm.mdb") Conn.Open DSN %> <% if Request.ServerVariables("REQUEST_METHOD") <> "POST" then set rskunder = Conn.execute("SELECT * FROM udvalg WHERE id=" & request("id")) %> <body bgcolor="#FFFFFF"> <font face="Verdana, Arial, Helvetica, sans-serif"></font><table width="962" border="0" height="84"> <tr> <td width="553" height="90"> <table width="54%" border="0" height="1" bgcolor="#000000" bordercolor="#000000" cellpadding="1" cellspacing="1"> <tr> <td height="54" bgcolor="#CCCCCC"> <table width="546" border="0" cellspacing="0"> <tr> <td colspan="2"> <b><font size="4"><font face="Verdana, Arial, Helvetica, sans-serif"> <%Response.Write rskunder("udvalgsnavn")%> </font> </font></b> <b><font size="4"><font face="Verdana, Arial, Helvetica, sans-serif"> </font></font></b> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></td> <td width="77"> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></td> </tr> <tr> <td width="55"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> Beskrivelse.:</font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("udvalgsbeskrivelse")%> </font></td> <td width="77"> </td> </tr> <tr> <td width="55"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> Ansvarlige.:</font></td> <td width="437"> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("ansvarlige")%> </font></div> </td> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("id")%> </font></div> </td> <td width="77"> </td> </tr> </table> </td> </tr> </table> </td> <td width="399" height="90"> </td> </tr> </table> <p> </p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Kunder </b></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b></b></font> <br> <form name="form1" method="post" action="udvalgskort.asp?mode=gem"> <table width="913" border="0" height="1"> <tr> <td height="1" bgcolor="#000000" bordercolor="#000000"> <% set rskunder = Conn.execute("SELECT * FROM kunder") do until rskunder.eof%> <table width="85%" border="0" height="1" bgcolor="#CCCCCC" bordercolor="#CCCCCC"> <tr> <td height="1" bgcolor="#CCCCCC"> <table width="904" border="0" cellspacing="1" bordercolor="#CCCCCC" bgcolor="#CCCCCC" height="20"> <tr bordercolor="1"> <td width="165" height="14"> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <input type="checkbox" name="C1" value="<%=rskunder("kundeID")%>"> <%Response.Write rskunder("Firmanavn")%> </font></a></div> </td> <td width="148" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("Adresse")%> </font></a></td> <td width="206" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("Postnr")%> </font></td> <td width="121" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("By")%> </font></td> <td width="121" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("kundeid")%> </font></td> </tr> </table> </td> </tr> </table> <% rskunder.movenext loop rskunder.Close set rskunder = Nothing %> </td> </tr> </table> <p><input type="hidden" value="<%=request("id")%>" name="udvalgID"> <input type="submit" value="gem" name="mode"><input type="reset" value="Nulstil" name="B2"></p> </form> <% end if %> <% if request("mode") = "gem" then set rs = server.createobject("adodb.recordset") set rskunder = server.createobject("adodb.recordset") 'Sæt udvalgsid=0 for at få et tomt rs. rskunder.open "SELECT * FROM [udvalgs-kunder] WHERE udvalgsid=0", Conn, 1, 3 kundeIDlist = Request.Form("C1") udvalgID = Request.Form("udvalgID") kundeIDlistArr = Split(kundeIDlist, ",") for i = lbound(kundeIDlistArr) to ubound(kundeIDlistArr) SQL = "SELECT * FROM kunder WHERE kundeID = " & kundeIDlistArr(i) Set rs = Conn.Execute(SQL) if NOT rs.EOF then rskunder.addnew rskunder("udvalgsid") = udvalgID rskunder("kundeid") = kundeIDlistArr(i) rskunder("kundenavn") = rs("Firmanavn") rskunder("adresse") = rs("adresse") rskunder("post") = rs("postnr") rskunder("by") = rs("by") rskunder.update end if next %> <% rskunder.Close set rskunder = Nothing rs.Close set rs = Nothing %> Projektet er gemt - <a href="projektoversigt.asp">Tilbage</a> <%end if%>
Jeg vil gerne give 200 point for den der kan tilpasse koden sådan at det virker med den checkboks o.s.v ;)
jeps... jeg opretter lige et spørgsmål mere...
Står du ved dit ord eller?
jeps... jeg opretter et spørgsmål senere idag.. ok!
03. juni 2003 - 19:06
#20
Hej Eagleeye, kan du hjælpe med en lille ting til vedr. ovenstående spørgsmål! Jeg vil gerne have det sådan at hvis jeg går ind på et udvalg hvor jeg har valgt kunder engang til, så skal de valgte kunder være markeret... her er min kode: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/crm.mdb") Conn.Open DSN %> <% if Request.ServerVariables("REQUEST_METHOD") <> "POST" then set rskunder = Conn.execute("SELECT * FROM udvalg WHERE id=" & request("id")) %> <body bgcolor="#FFFFFF"> <font face="Verdana, Arial, Helvetica, sans-serif"></font><table width="962" border="0" height="84"> <tr> <td width="553" height="90"> <table width="54%" border="0" height="1" bgcolor="#000000" bordercolor="#000000" cellpadding="1" cellspacing="1"> <tr> <td height="54" bgcolor="#CCCCCC"> <table width="546" border="0" cellspacing="0"> <tr> <td colspan="2"> <b><font size="4"><font face="Verdana, Arial, Helvetica, sans-serif"> <%Response.Write rskunder("udvalgsnavn")%> </font> </font></b> <b><font size="4"><font face="Verdana, Arial, Helvetica, sans-serif"> </font></font></b> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></td> <td width="77"> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"> </font></td> </tr> <tr> <td width="55"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> Beskrivelse.:</font></td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("udvalgsbeskrivelse")%> </font></td> <td width="77"> </td> </tr> <tr> <td width="55"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> Ansvarlige.:</font></td> <td width="437"> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <%Response.Write rskunder("ansvarlige")%> </font></div> </td> <td width="77"> </td> </tr> </table> </td> </tr> </table> </td> <td width="399" height="90"> </td> </tr> </table> <p> </p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Kunder </b></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b></b></font> <br> <form name="form1" method="post" action="udvalgskort.asp?mode=gem"> <table width="913" border="0" height="1"> <tr> <td height="1" bgcolor="#000000" bordercolor="#000000"> <% set rskunder = Conn.execute("SELECT * FROM kunder") do until rskunder.eof%> <table width="85%" border="0" height="1" bgcolor="#CCCCCC" bordercolor="#CCCCCC"> <tr> <td height="1" bgcolor="#CCCCCC"> <table width="904" border="0" cellspacing="1" bordercolor="#CCCCCC" bgcolor="#CCCCCC" height="20"> <tr bordercolor="1"> <td width="165" height="14"> <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <input type="checkbox" name="C1" value="<%=rskunder("kundeID")%>"> <%Response.Write rskunder("Firmanavn")%> </font></a></div> </td> <td width="148" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("Adresse")%> </font></a></td> <td width="206" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("Postnr")%> </font></td> <td width="121" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("By")%> </font></td> <td width="121" height="14"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> <%Response.Write rskunder("kundeid")%> </font></td> </tr> </table> </td> </tr> </table> <% rskunder.movenext loop rskunder.Close set rskunder = Nothing %> </td> </tr> </table> <p><input type="hidden" value="<%=request("id")%>" name="udvalgID"> <input type="submit" value="gem" name="mode"><input type="reset" value="Nulstil" name="B2"></p> </form> <% end if %> <% if request("mode") = "gem" then set rs = server.createobject("adodb.recordset") set rskunder = server.createobject("adodb.recordset") 'Sæt udvalgsid=0 for at få et tomt rs. rskunder.open "SELECT * FROM [udvalgs-kunder] WHERE udvalgsid=0", Conn, 1, 3 kundeIDlist = Request.Form("C1") udvalgID = Request.Form("udvalgID") kundeIDlistArr = Split(kundeIDlist, ",") for i = lbound(kundeIDlistArr) to ubound(kundeIDlistArr) SQL = "SELECT * FROM kunder WHERE kundeID = " & kundeIDlistArr(i) Set rs = Conn.Execute(SQL) if NOT rs.EOF then rskunder.addnew rskunder("udvalgsid") = udvalgID rskunder("kundeid") = kundeIDlistArr(i) rskunder("kundenavn") = rs("Firmanavn") rskunder("adresse") = rs("adresse") rskunder("post") = rs("postnr") rskunder("by") = rs("by") rskunder.update end if next %> <% rskunder.Close set rskunder = Nothing rs.Close set rs = Nothing %> Projektet er gemt - <a href="udvalgsprojekt.asp">Tilbage</a> <%end if%>
03. juni 2003 - 19:27
#21
Disse to linjer : <% set rskunder = Conn.execute("SELECT * FROM kunder") do until rskunder.eof%> Laves om til dette: <% Set rsList = Conn.execute("SELECT kundeID FROM [udvalgs-kunder]") kundeIDlist = "," do while not rsList.EOF kundeIDlist = kundeIDlist & rsList("kundeID") & "," rsList.Movenext loop rsList.Close Set rsList = Nothing set rskunder = Conn.execute("SELECT * FROM kunder") do until rskunder.eof%> ------------ Det som udksriver checkboxen: <input type="checkbox" name="C1" value="<%=rskunder("kundeID")%>"> Laves om til dette: <input type="checkbox" name="C1" value="<%=rskunder("kundeID")%>" <% if inStr(1, kundeIDlist, ","&rskunder("kundeID")&",") > 0 then Response.Write " checked" %> >
04. juni 2003 - 09:21
#22
det virker bare ikke...eller sagt på en anden måde..... Jeg kan ikke finde ud af det.. Vil du ikke være så flink at rette min kode til!
04. juni 2003 - 13:24
#23
Denne: Set rsList = Conn.execute("SELECT kundeID FROM [udvalgs-kunder]") Skal rettes til dette så den kun finder firmaer for den valgte udvalg: Set rsList = Conn.execute("SELECT kundeID FROM [udvalgs-kunder] WHERE udvalgsid = " & request("id") & "")
04. juni 2003 - 14:06
#24
OK
Kurser inden for grundlæggende programmering