\' SQL forespørgsel strSQL = \"Select * from firma WHERE amt=\'Bornholm\'\" \' Udfør forespørgsel (rs indeholder nu resultatet) Set rs = Conn.Execute(strSQL) \' Gennemløb Recordset (rs) med en løkke Do While Not rs.EOF \' Udskriv værdien af kolonnen notatfelt = rs(\"www\") Response.write(\"<tr><td>\") Response.write(rs(\"firma\") & \"</td><td>\") If Lcase(left(notatfelt, 7)) <> \"http://\" Then Response.write(\"<a href=\"\"http://\" & notatfelt & \"\"\">\" & rs(\"www\") & \"</a>\") Else Response.write(\"<a href=\"\"\" & notatfelt & \"\"\">\" & notatfelt & \"</a>\") End if Response.write(\"</td></tr>\") \'Response.write(\"<tr><td>\") \'Response.write(rs(\"firma\") & \"</td><td>\") \'If Lcase(left(rs(\"www\"), 7)) <> \"http://\" Then \' Response.write(\"<a href=\"\"http://\" & rs(\"www\") & \"\"\">\" & rs(\"www\") & \"</a>\") \'Else \' Response.write(\"<a href=\"\"\" & rs(\"www\") & \"\"\">\" & rs(\"www\") & \"</a>\") \'End if \'Response.write(\"</td></tr>\") \'Response.Write \"<tr><td>\" & rs(\"firma\") & \"</td><td><a href=\'\" & rs(\"www\") & \"\'>\" & rs(\"www\") & \"</a></td>\" \' Gå til næste Record i rs rs.MoveNext Loop \' Luk databaseforbindelse Conn.Close Set Conn = Nothing %> </table>
Det virker også fint nok, men jeg ville godt have haft det sådan at man udfra valget *bornholm* fik endnu en dropdownmenu med de byer som nu en gang er på bornholm.. Jeg kan se at det er lidt af et arbejde men det må da kunne gøres..
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
team = new Array( new Array( new Array(\"Saku Koivu\", 39482304), new Array(\"Martin Rucinsky\", 34802389), new Array(\"Jeff Hackett\", 39823498), new Array(\"Sheldon Sourray\", 87587343), new Array(\"Richard Zednik\", 68798735), new Array(\"Brian Savage\", 98098509), new Array(\"Stephane Robidas\", 49490583), new Array(\"Patrice Brisebois\", 32898334), new Array(\"Oleg Petrov\", 92340934), new Array(\"Chad Kilger\", 34923409), new Array(\"Benoit Brunet\", 59384093), new Array(\"Jan Bulis\", 83948023), new Array(\"Patrick Traverse\", 41239812), new Array(\"Jose Theodore\", 98402398), new Array(\"Craig Darby\", 82393434), new Array(\"Patric Poulin\", 34290348), new Array(\"Karl Dykhuis\", 89092834) ), new Array( new Array(\"Mario Lemieux\", 23840238), new Array(\"Jaromir Jagr\", 92390484), new Array(\"Robert Lang\", 29048203), new Array(\"Alexei Kovalev\", 94098230), new Array(\"Jean-Sebastien Aubin\", 39234923), new Array(\"Kevin Stevens\", 29345423) ), null, new Array( new Array(\"Alexei Yashin\", 20394802), new Array(\"Daniel Alfredson\", 34982039), new Array(\"Marian Hossa\", 92348902), new Array(\"Patrick Lalime\", 98203894), new Array(\"Radek Bonk\", 98234902) ) ); function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) { var i, j; var prompt; // empty existing items for (i = selectCtrl.options.length; i >= 0; i--) { selectCtrl.options[i] = null; } prompt = (itemArray != null) ? goodPrompt : badPrompt; if (prompt == null) { j = 0; } else { selectCtrl.options[0] = new Option(prompt); j = 1; } if (itemArray != null) { // add new items for (i = 0; i < itemArray.length; i++) { selectCtrl.options[j] = new Option(itemArray[i][0]); if (itemArray[i][1] != null) { selectCtrl.options[j].value = itemArray[i][1]; } j++; } // select first item (prompt) for sub list selectCtrl.options[0].selected = true; } } // End --> </script>
jepz.. vil ha det sådan at man først vælger amt og får en ny dropdown hvor man kan vælge by ud fra det amt. ved tryk på by skal en side åbnes i mainframe ud fra resultatet amt+by. data hentes så fra database..
Og så bare sige: SELECT WHERE ParantID = 0, først og så sætte dem ind i den første dropdown... Så blander man ASP og javascript og siger i java script: Hvis dropdown1 = id: 2 (Sjælland) så... Hvis undermenur i på sjælland som man har hentet fra databasen ved sidens load... Hvis I forstår?!?
Og desuden kunne det jo godt være at du kunne forstå det jeg skrev (vilket du åbenbart ikke kan!) og du så kunne bruge svaret!! Det lyder heller ikke ligefrem som om at du overhovedet ønsker hjælp.... Er det personligt eller hvad?!?!
<html> <head> <script> var stateNames=new Array() stateNames[\"none\"]=new Array(\"Choose a country first\") stateNames[\"USA\"]=new Array(\"Alabama\",\"Alaska\",\"Arizona\",\"Arkansas\",\"California\",\"Colorado\",\"Connecticut\",\"Delaware\",\"Florida\",\"Georgia\",\"Hawaii\",\"Idaho\",\"Illinois\",\"Indiana\",\"Iowa\",\"Kansas\",\"Kentucky\",\"Louisiana \",\"Maine\",\"Maryland\",\"Massachusetts\",\"Michigan\",\"Minnesota\",\"Mississippi\",\"Missouri\",\"Montana\",\"Nebraska\",\"Nevada\",\"New Hampshire\",\"New Jersey\",\"New Mexico\",\"New York\",\"North Carolina\",\"North Dakota\",\"Ohio\",\"Oklahoma \",\"Oregon\",\"Pennsylvania\",\"Rhode Island\",\"South Carolina\",\"South Dakota\",\"Tennessee\",\"Texas\",\"Utah\",\"Vermont\",\"Virginia\",\"Washington\",\"West Virginia\",\"Wisconsin\",\"Wyoming \") stateNames[\"CAN\"]=new Array(\"Newfoundland \",\"Nova Scotia \",\"New Brunswick \",\"Prince Edward Island \",\"Quebec \",\"Ontario \",\"Manitoba \",\"Saskatchewan \",\"Alberta \",\"British Columbia \",\"Nunavut \",\"Northwest Territories \",\"Yukon Territory\") stateNames[\"AUS\"]=new Array(\"Australian Capital Territory\",\"New South Wales\",\"Northern Territory\",\"Queensland\",\"South Australia\",\"Tasmania\",\"Victoria\",\"Western Australia\") function fillStates(opt){ s=document.f.states.options s.length=stateNames[opt].length for(i=0;i<s.length;i++){ s[i].value=stateNames[opt][i] s[i].text=stateNames[opt][i] } document.f.states.selectedIndex=0 } </script> </head> <body> <form name=\"f\"> <select name=countries onchange=\"fillStates(this.options[this.selectedIndex].value)\"> <option value=\"none\">Pick one</option> <option value=\"USA\">United States</option> <option value=\"CAN\">Canada</option> <option value=\"AUS\">Australia</option> </select> <select name=states> <option>Choose a country first</option> <option></option> <option></option> <option></option> <option></option> </select> </form> </body> </html> Giver en dynamisk dropdown udfra et valg. De lange lister med navne kan laves med asp, men for at jeg skal kunne forklare hvordan du gør det, er jeg nød til at vide hvordan du henter informationen ud af databasen.
Det var jo ikke fordi jeg udelukkende kaldte dig en nar, det var bare sådan starten på en sætning!! Eks.: Dig og en af dine snakker sammen en fredag: Din Ven: \"Nå vi ses vel, imorgen på arbejdet!\" Så siger du: \"Nar, Peter.. Det er fredag!\" \"Nååå, ja!\"
Nu er det lidt svært for mig at prøve koden af, men kunne du ikke åbne et nyt recordset med amterne i: strSQL = \"select amt from firma order by amt\" Set rs1 = Conn.Execute(strSQL) strSQL = \"select amt, by from firma order by amt\" Set rs2 = Conn.Execute(strSQL) a = 0 For each item in rs1 a = a + 1 do while not rs2.eof %> str<%a%> = str + \'<%rs2(1)%>, \'; <% rs2.movenext loop next %>
Microsoft VBScript runtime error \'800a01b6\' Object doesn\'t support this property or method
/temp.asp, line 21 Hvor linje 21 refererer til For each item in rs1
<html> <head> <title>Untitled Document</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"> <link rel=\"stylesheet\" href=\"/css/general.css\"> </head> <body bgcolor=\"#003366\" text=\"#FFFFFF\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\"> Temp<br> <table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#FFFFFF\"> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath(\"/minedata.mdb\") Conn.Open DSN \' SQL forespørgsel strSQL = \"select amt from firma order by amt\" Set rs1 = Conn.Execute(strSQL) strSQL = \"select amt, by from firma order by amt\" Set rs2 = Conn.Execute(strSQL) a = 0 For each item in rs1 a = a + 1 do while not rs2.eof %> str<%a%> = str + \'<%rs2(1)%>, \'; <% rs2.movenext loop next \' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
Prøv det her: <html> <head> <title>Untitled Document</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"> <link rel=\"stylesheet\" href=\"/css/general.css\"> </head> <body bgcolor=\"#003366\" text=\"#FFFFFF\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\"> Temp<br> <table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#FFFFFF\"> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath(\"/minedata.mdb\") Conn.Open DSN \' SQL forespørgsel strSQL = \"select amt from firma order by amt\" Set rs1 = Conn.Execute(strSQL) strSQL = \"select amt, by from firma order by amt\" Set rs2 = Conn.Execute(strSQL) a = 0 Do while not rs1.eof a = a + 1 do while not rs2.eof %> str<%a%> = str + \'<%rs2(1)%>, \'; <% rs2.movenext loop loop \' Luk databaseforbindelse Conn.Close Set Conn = Nothing %>
<% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath(\"/data/stemmer.mdb\") Conn.Open DSN strSQL = \"select amt from firma order by amt\" Set rs1 = Conn.Execute(strSQL) strSQL = \"select amt, by from firma order by amt\" Set rs2 = Conn.Execute(strSQL) a = 0 Do while not rs1.eof a = a + 1 do while not rs2.eof %> str<%=a%> = str + \'<%=rs2(1)%> \'str<%a%> = str + \'<%rs2(1)%>, \'; <% rs2.movenext loop loop Conn.Close Set Conn = Nothing %>
<% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath(\"/data/stemmer.mdb\") Conn.Open DSN strSQL = \"select amt from firma order by amt\" Set rs1 = Conn.Execute(strSQL) strSQL = \"select amt, by from firma order by amt\" Set rs2 = Conn.Execute(strSQL) a = 0 Do while not rs1.eof a = a + 1 do while not rs2.eof %> str<%=a%> = str + \'<%=rs2(1)%>\'; <% rs2.movenext loop loop Conn.Close Set Conn = Nothing %> Prøv sådan.
The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.
<head> <title>side 1</title> <script type=\"text/javascript\"> str = \"\"; var bynavne=new Array() bynavne[\"ingen\"]=new Array(\"vælg et amt først\"); <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../databaser/stemmer.mdb\") set rs = Server.CreateObject(\"ADODB.Recordset\") set rs1 = Server.CreateObject(\"ADODB.Recordset\") sql = \"SELECT amt, by FROM firma ORDER BY amt \" rs.Open sql, Conn, 3, 3 sql1 = \"SELECT amt FROM firma GROUP BY amt\" rs1.Open sql1, Conn, 3, 3 a = 0 do while not rs1.eof a = a + 1 rs1.movenext%> str<%=a-1%> = \"\"; <% loop a = 0 test = \"\" do while not rs.eof if test <> rs(0) then a = a + 1 %> bynavne[\"<%=rs(0)%>\"]=new Array(); <% end if%> bynavne[\"<%=rs(0)%>\"][bynavne[\"<%=rs(0)%>\"].length] = \"<%=rs(1)%>\"; <% test = rs(0) rs.movenext loop %> function fillStates(opt){ s=document.f.states.options s.length=bynavne[opt].length for(i=0;i<s.length;i++){ s[i].value=bynavne[opt][i] s[i].text=bynavne[opt][i] } document.f.states.selectedIndex=0 }
</script> </head> <body> <form name=\"f\"> <select name=countries onchange=\"fillStates(this.options[this.selectedIndex].value)\"> <option value=\"ingen\">ingen</option> <% rs1.movefirst do while not rs1.eof%> <option value=\"<%=rs1(0)%>\"><%=rs1(0)%></option> <% rs1.movenext loop %> </select> <select name=states> <option>vælg et amt først</option> <option></option> <option></option> <option></option> <option></option> </select> </form>
</body>
</html> Der er nogle problemer, under frederiksborg skriver den hillerød to gange, der er to poster i databasen. Jeg har lavet en dsnløs forbindelse, der kan du bare bruge den sædvanlige måde, hvis du hellere vil, det er i linierne: Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../databaser/stemmer.mdb\") set rs = Server.CreateObject(\"ADODB.Recordset\")
Lav din form om til: <form name=\"f\" action=\"amt.asp\"> <select name=countries onchange=\"fillStates(this.options[this.selectedIndex].value)\"> <option value=\"ingen\">ingen</option> <% rs1.movefirst do while not rs1.eof%> <option value=\"<%=rs1(0)%>\"><%=rs1(0)%></option> <% rs1.movenext loop %> </select> <select name=states> <option>vælg et amt først</option> <option></option> <option></option> <option></option> <option></option> </select> <input type=\"submit\" value=\"ok\"> </form>
I stedet for at have en side for hvert amt, skal du så have en side der hedder amt.asp, eller hvad du nu vil kalde den. I den side kan du trække amt og by ud af request.querystring. Din sql sætning vil så se ud lidt ala strSQL = \"Select * from firma WHERE amt=\"&Request.querystring(\"countries\")&\" AND WHERE by=\"&Request.querystring(\"states\") Du kan også omdøbe dine selects, så de er lidt mere sigende, countries/amt, states/by.
Du kan undgå at den skriver bynavnene to gange ved at lave sql sætningen sql = \"SELECT amt, by FROM firma ORDER BY amt \" om til: sql = \"SELECT amt, by FROM firma GROUP BY amt, by ORDER BY amt \"
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression \'amt=Frederiksborg AND WHERE by=Hillerød\'.
Prøv denne i stedet. strSQL = \"Select * from firma WHERE amt=\'\"&Request.querystring(\"countries\")&\"\' AND by=\'\"&Request.querystring(\"states\")&\"\'\"
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.