20. januar 2005 - 21:32
Der er
12 kommentarer og 1 løsning
Hent data fra tabel
Jeg har en dropdown liste hvor jeg putter data ned i en access db. Ser således ud: <select name="Region" style="width:200; font-family:Verdana; font-size:8 pt"><option><%=rs("Region")%></option> <option value="10"> • Århus amt</option> <option value="11"> • Viborg amt</option> <option value="12"> • Fyns amt</option> </select> Vælges Århus amt skrives 10 i db, hvilket også er fint - Men når felter Region hentes fra db skulle der gerne skrives Århus amt i stedet for 10.... Jeg har lavet en tabel mere hvor id feltet er 10 og region Århus amt, men hvordan f..... får jeg den til at det????
Annonceindlæg fra SuperOffice
20. januar 2005 - 22:11
#1
du kan gøre det ved at lave din query lidt om... fx. sql = "SELECT tabel1.region AS regionID, tabel2.region AS regionNavn FROM tabel1 INNER JOIN tabel2 ON tabel1.region = tabel2.id" så kan du blot hente det ud til din dropdown med: <%=rs("regionNavn")%> i stedet... Så kan du hvis du skal bruge id'et lave din option om til: <option value="<%=rs("regionID")%>"><%=rs("regionNavn")%></option>
20. januar 2005 - 22:51
#2
hmm, får flg. fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Cannot join on Memo, OLE, or Hyperlink Object (amter.id=annoncer.region). Og har gjort flg: Set rs2 = Server.CreateObject("ADODB.Recordset") sql = "SELECT annoncer.region AS regionID, amter.region AS regionNavn FROM annoncer INNER JOIN amter ON annoncer.region = amter.id" rs2.open sql, conn, 1, 3 også: <select name="Region" style="width:200; font-family:Verdana; font-size:8 pt"><option><%=rs2("regionNavn")%></option> Er det helt tosset?
20. januar 2005 - 23:09
#3
nej, det sker rigtigt ud... er annoncer.region et tal felt ? og er amter.region et tal felt ?
20. januar 2005 - 23:12
#4
annoncer.region er et notat felt og amter.region er et tekst felt
20. januar 2005 - 23:23
#5
hmm... de skal vidst være af samme type for at det virker.. men indeholder de ikke begge kun tal..?
20. januar 2005 - 23:26
#6
Nej de indeholder begge f.eks. Århus Amt amter.id er tal
20. januar 2005 - 23:31
#7
har du tallet i begge tabeller..?
20. januar 2005 - 23:43
#8
shit det er mig der er en klovn... annoncer.region er et notat felt - men det indeholder selvfølgelig tallet og amter.id indeholder også tallet og amter.region indeholder århus amt
20. januar 2005 - 23:45
#9
okay.. Så skal du lave annoncer.region til et tal felt.. Og så kan du joine med den query fra før... Det burde virke.. sql = "SELECT annoncer.region AS regionID, amter.region AS regionNavn FROM annoncer INNER JOIN amter ON annoncer.region = amter.id"
20. januar 2005 - 23:56
#10
Ja tak.... Det var det der skulle til!! Mange tak for tålmodigheden. Laver du et svar?
20. januar 2005 - 23:57
#11
jo der er et svar her.. Og velbekomme.. Skulle det være en anden gang ;-)
21. januar 2005 - 00:59
#12
hmm jeg brugte feltet på en side hvor man kan opdatere en annonce... Nu kan man kun opdatere feltet region ellers kommer denne fejl: Provider error '80020005' Type mismatch. /login_bruger.asp, line 1173 <% if mode = "ret_annonce" then 'Tjecker om brugeren er logget ind if session("brugernavn") = "" then Response.Redirect("login_udlejer.asp?mode=login") end if 'Henter udlejerens annonce Set rs = Server.CreateObject ("ADODB.Recordset") rs.Open "SELECT * FROM annoncer WHERE annonceId = " & Request.QueryString("Id"), conn, 2, 2 Set rs2 = Server.CreateObject("ADODB.Recordset") sql = "SELECT annoncer.region AS regionID, amter.region AS regionNavn FROM annoncer INNER JOIN amter ON annoncer.region = amter.id" rs2.open sql, conn, 1, 3 if Request.ServerVariables("REQUEST_METHOD") = "POST" then 'Opdaterer felterne rs("Region") = Server.HTMLEncode(Request.Form("Region")) rs("Postnr") = Server.HTMLEncode(Request.Form("Postnr")) rs("Postby") = Server.HTMLEncode(Request.Form("Postby")) rs("Telefon") = Server.HTMLEncode(Request.Form("Telefon")) rs.update end if %> line 1173 = rs("Region") = Server.HTMLEncode(Request.Form("Region"))
21. januar 2005 - 01:06
#13
du skal rette din option til: <option value="<%=rs("regionID")%>"><%=rs("regionNavn")%></option> så kører den på tal som den skal..!
Kurser inden for grundlæggende programmering