Her er værdierne lagt ind i menuerne, men hvad nu hvis man vil hente værdierne i en accessdatabase.
Det vil sige jeg har en tabel ved navn "oplysninger" bestående af 2 kolonner (personalenummer og navn). Nu vil jeg hente disse værdier fra databasen og over i selectmenuerne…..
Desuden skal de 2 selectmenuer arbejde sammen, så hvis man f.eks. vælger personalenummer 1111, så bliver det tilhørende navn vist i den anden selectmenu og omvendt.
Håber i forstår problemstillingen….
Jeg plejer at connecte til databasen med nedenstående kode…….
CONST adOpenStatic = 3, adLockReadOnly = 1, adCmdText = &H0001 Dim connectionString, CONN_USER, CONN_PASS Dim recordSet Dim forbindelse Dim strSQL
connectionString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("xxx.mdb") Set forbindelse = Server.CreateObject("ADODB.Connection") Set recordSet = Server.CreateObject("ADODB.recordSet") forbindelse.Open connectionString, CONN_USER, CONN_PASS
Jeg har dette eks som er lavet med Javascript... :
<html> <head> <title></title>
<script language = "JavaScript">
<!-- hide me <% 'Jeg har to tabeller til dette eks, første tabel: 'Tabel navn: ting ' select1ID : autonummer ' select1navn : tekst 'Den anden tabel: 'Tabel navn: select2 ' ID : autonummer ' select1ID : tal (indeholder tallet select1ID som svare til select1ID) ' select2navn : tekst set rs = server.CreateObject("ADODB.Recordset") set rsSel2 = server.CreateObject("ADODB.Recordset") set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db9.mdb") 'Lav SQL som hendter info the select1 strSQL = "SELECT * FROM ting" set rs = conn.Execute (strSQL) select1Options = "" firstName = "" do while not rs.EOF if firstName = "" then firstName = "Arr_" & rs("select1ID") end if select1Options = select1Options & "<option value=Arr_" & rs("select1ID") & ">" & rs("select1navn") & "</option>" strSQL = "SELECT * FROM select2 WHERE select1ID = " & rs("select1ID") Set rsSel2 = conn.execute (strSQL) %> var Arr_<%=rs("select1ID")%> = new Array( <% do while not rsSel2.EOF Response.Write """" & rsSel2("select2navn") & """" rsSel2.MoveNext if not rsSel2.EOF then Response.Write "," end if loop %> ); <% rs.MoveNext loop %>
function opdaterSelect2(the_array_name) { //var numbers_select = window.document.formnavn.the_examples; var the_array = eval(the_array_name); setOptionText(window.document.formNavn.select2, the_array); }
function setOptionText(the_select, the_array) { //slet indholdet at select2 inde de nye ligges ind. no_in_select = the_select.options.length; for (loop=0; loop <= no_in_select; loop++) { the_select.remove(0); } //fyld select2 op med nye data for (loop=0; loop < the_array.length; loop++) { var oOption = document.createElement("OPTION"); oOption.text=the_array[loop]; the_select.add(oOption); } }
function udfyldSelect2() { setOptionText (window.document.formNavn.select2,<%=firstName%>); } // show me -->
Nu har jeg sat din kode ind og tabelnavnene er nu de samme som dem du har. Jeg er bare lidt i tvivl om i hvilken tabel og feltnavn jeg skal placere henholdsvis navne og personalenumrene (I den ene tabel er der jo 3 felter mens der kun er 2 i den anden)
Jeg har selv lige prøvet at rode med det og fået det til at virke. Så eagleeye tusind tak for hjælpen...
Synes godt om
Ny brugerNybegynder
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.