19. april 2004 - 11:38Der er
10 kommentarer og 1 løsning
Hente værdi er til rullemenu
Hej eksperter
Jeg har en database med tabellen, dksprog, som skal have mulighed for at have værdien 1, 2 eller 3.
Jeg har lavet en rullemenu med 3 valg, som får værdierne 1, 2 og 3. Dette fungerer fint, men problemet opstår, når brugeren senere kommer ind og retter (udover rullemenuen er der også andre felter på siden). Hvis brugeren retter i et andet felt, men ikke foretager sig noget i rullemenuen, så får rullemenuen jo automatisk valg nr. 1. Dette er jo uheldigt, hvis brugeren tidligere har valgt at have valg nr. 2.
Kan det ikke laves sådan, at rullemenuens valg nr. 1 altid svarer til værdien i databasen, så værdien altid vil være den samme, hvis der ikke ændres i rullemenuen?
<select name="rullemenu"> <% set rs = conn.execute("select rullemenuennr from DinTabel where.....") %> <option value="1" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "1" then response.write "selected" %>>første <option value="2" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "2" then response.write "selected" %>>anden <option value="3" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "3" then response.write "selected" %>>tredje </select>
<% set rs = conn.execute("select rullemenuennr from dksprog where Id=1") %> <option value="1" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "1" then response.write "selected" %>>første <option value="2" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "2" then response.write "selected" %>>anden <option value="3" <% if not rs.eof then if cstr(rs("rullemenuennr")) = "3" then response.write "selected" %>>første </select>
så får jeg vist en rullemenu, men uden værdier. Derudover stopper siden også her, så efterfølgende felter samt send-knappen ikke vises?
Tabellen hedder "data" og feltet, hvor nummeret bliver gemt, hedder "dksprog". Derfor skal jeg selvfølgelig ændre lidt i ovenstående, men resultatet bliver det samme, selv om jeg udskifter "rullemenuennr" med "dksprog" og "dksprog" med "data"?
<select name="rullemenu"> <font face="Arial" size=2> <p>Microsoft JET Database Engine</font> <font face="Arial" size=2>error '80040e37'</font> <p> <font face="Arial" size=2>The Microsoft Jet database engine cannot find the input table or query 'dksprog'. Make sure it exists and that its name is spelled correctly.</font> <p> <font face="Arial" size=2>/hjemmesidekoncept/retsprog.asp</font><font face="Arial" size=2>, line 91</font>
Der er altså et felt, som hedder dksprog - et talfelt?
Det lader til at den ikke kan finde tabellen "dksprog". Du har sikkert overset en rettelse, så der står nok stadig "select ... from dksprog where ...." hvor det skulle være "select dksprog from data where ...."
Slette <% set rs = conn.execute("select rullemenuennr from dksprog where Id=1") %>, da jeg tidligere i dokumentet har kørt lignende samt ændre select navnet.
Mange tak for hjælpen - smid et svar, så jeg kan give point :-)
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.