Avatar billede cayenne Nybegynder
08. marts 2002 - 13:50 Der er 13 kommentarer og
1 løsning

Hente data fra to tabeller til 1 drop down boks

Jeg har en redigeringsside i asp som viser poster fra en accessdatabase. Her kan folk rette i oplysningerne.
Men jeg vil gerne have at f.eks. mit navnefelt er en dropdown boks, som udover at vise navnet som hører til posten, også viser en navneliste fra en anden tabel, så brugeren kan vælge et andet navn, hvis ønsket.

Hvordan gør jeg det ? (Håber spørgsmålet er til at forstå :o)
Avatar billede coltau Juniormester
08. marts 2002 - 15:45 #1
her er hvordan amn laver en dropdownliste der også viser den der er valgt.

<%
  strSelected = RS("navn") ' Valgte navn fra tabel 1
 
  ' Vis dropdownliste
  Response.Write("<select name='EditListe' size='1'>")
  Set RS1 = Conn.Execute("SELECT navn FROM tabelnavne") ' Find navneliste fra tabelnavne
  Do While Not RS1.EOF
    if RS1 = strSelected then ' Er det denne der er valgt i listen
      Response.Write("<option selected value='" & RS1("navn") & "'>" & RS1("navn") & "</option>")
    else
      Response.Write("<option value='" & RS1("navn") & "'>" & RS1("navn") & "</option>")
    end if
    RS1.MoveNext
  Loop
  Response.Write("</select>")
%>

Jeg kan ikke uddybe det nærmere da jeg ikke ved hvordan du gemmer hanvet i tabel1. Er det som tekst eller et Tal som refererer til tabelnavne
Avatar billede cayenne Nybegynder
08. marts 2002 - 16:04 #2
Jeg gemmer ikke id numrene, men selve navnet i tabel 1. Jeg har lige prøvet din kode, men får kun en tom boks. Det er sikkert mig der har gjort noget forkert... Må prøve igen :o)
Avatar billede coltau Juniormester
09. marts 2002 - 13:40 #3
Der er også en "UPS" i koden.
Denne linie:
if RS1 = strSelected then ' Er det denne der er valgt i listen
Skal ændres til:
if RS1("navn") = strSelected then ' Er det denne der er valgt i listen
Avatar billede cayenne Nybegynder
11. marts 2002 - 13:20 #4
Jeg har prøvet at gøre som du skriver, men får stadig kun en tom boks og samtidig forsvinder de felter som kommer efter boksen. Hvad mon jeg gør galt ?
Avatar billede coltau Juniormester
11. marts 2002 - 15:34 #5
Det er sikkert fordi din SQL-sætning ikke finder de navne der skal vises. ?

Set RS1 = Conn.Execute("SELECT navn FROM tabelnavne")

feltet, "navn" er de tekster der skal vises i listen og tabelnavn" er navnet på tabellen hvor deer i.
Avatar billede cayenne Nybegynder
11. marts 2002 - 15:41 #6
Ja, men så langt har jeg forstået det. De felter der forsvinder nedenunder er på adresse osv. og min submit knap forsvinder også. Det forstår jeg ikke rigtigt. Er det muligt at det er loopet, der aldrig stopper ?
(Er meget glad for din hjælp, selv om jeg er lidt tungnem :o)
Avatar billede coltau Juniormester
11. marts 2002 - 18:28 #7
Må jeg se koden. ?
Avatar billede cayenne Nybegynder
12. marts 2002 - 10:09 #8
Her er den. Jeg bruger Frontpage 2000. Derfor står der fp foran fp_rs.

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Navn</title>
</head>

<body>

<!--webbot bot="DatabaseRegionStart" startspan
s-columnnames="Adresse_id,Navn,Adresse" s-columntypes="3,200,200"
s-dataconnection="Adresseforsog" b-tableformat="FALSE" b-menuformat="FALSE"
s-menuchoice s-menuvalue b-tableborder="TRUE" b-tableexpand="TRUE"
b-tableheader="TRUE" b-listlabels="TRUE" b-listseparator="TRUE" i-ListFormat="7"
b-makeform="TRUE" s-recordsource="tbl_Adresse"
s-displaycolumns="Navn,Adresse,Adresse_id" s-criteria s-order
s-sql="SELECT * FROM tbl_Adresse" b-procedure="FALSE" clientside
SuggestedExt="asp" s-DefaultFields
s-NoRecordsFound="Der er ikke blevet returneret nogen poster."
i-MaxRecords="256" i-GroupSize="1" BOTID="0"
u-dblib="../../../_fpclass/fpdblib.inc"
u-dbrgn1="../../../_fpclass/fpdbrgn1.inc"
u-dbrgn2="../../../_fpclass/fpdbrgn2.inc" tag="BODY"
local_preview="&lt;table border=0 width=&quot;100%&quot;&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Områderne med databaseresultater kan kun vises, hvis siden hentes fra en Web-server med en Web-browser. Det afsnit på siden, der indeholder databaseresultater, gentages én gang for hver post, som returneres af forespørgslen.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;"
preview="&lt;table border=0 width=&quot;100%&quot;&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Dette er begyndelsen af området med databaseresultater.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;" --><!--#include file="../../../_fpclass/fpdblib.inc"-->
<%
fp_sQry="SELECT * FROM tbl_Adresse"
fp_sDefault=""
fp_sNoRecords="Der er ikke blevet returneret nogen poster."
fp_sDataConn="Adresseforsog"
fp_iMaxRecords=256
fp_iCommandType=1
fp_iPageSize=1
fp_fTableFormat=False
fp_fMenuFormat=False
fp_sMenuChoice=""
fp_sMenuValue=""
fp_iDisplayCols=3
fp_fCustomQuery=False
BOTID=0
fp_iRegion=BOTID
%>
<!--#include file="../../../_fpclass/fpdbrgn1.inc"-->
<!--webbot bot="DatabaseRegionStart" i-CheckSum="61115" endspan -->
<form METHOD="POST" action="Adresseforsog_UPDATE.asp">
  <!--webbot bot="PurpleText"
  PREVIEW="Angiv egenskaberne for formularen, så den sender input fra brugerne til den rigtige side."
  -->
  <table BORDER="0">
    <tr>
      <td><b>Navn:</b></td>
      <td>
<%       
strSelected = fp_RS("Navn") ' Valgte navn fra tabel 1

' Vis dropdownliste
Response.Write("<select name='Navnefelt' size='1'>")
Set RS1 = Conn.Execute("SELECT Navn FROM tbl_navn") ' Find navneliste fra tabelnavne
Do While Not RS1.EOF
if RS1("Navn") = strSelected then ' Er det denne der er valgt i listen
Response.Write("<option selected value='" & RS1("Navn") & "'>" & RS1("Navn") & "</option>")
else
Response.Write("<option value='" & RS1("Navn") & "'>" & RS1("Navn") & "</option>")
end if
RS1.MoveNext
Loop
Response.Write("</select>")
%>

     
     
      </td>
    </tr>
    <tr>
      <td><b>Adresse:</b></td>
      <td><input TYPE="TEXT" NAME="Adresse" SIZE="40" VALUE="<%=FP_FieldHTML(fp_rs,"Adresse")%>"></td>
    </tr>
    <tr>
      <td><b>Adresse_id:</b></td>
      <td><input TYPE="TEXT" NAME="Adresse_id" SIZE="40" VALUE="<%=FP_FieldHTML(fp_rs,"Adresse_id")%>"></td>
    </tr>
    <tr>
      <td COLSPAN="2"><br>
        <input TYPE="Submit" NAME="fp_submit"><input TYPE="Reset" NAME="fp_reset"></td>
    </tr>
  </table>
</form>
<hr>
<!--webbot bot="DatabaseRegionEnd" startspan b-tableformat="FALSE"
b-menuformat="FALSE" u-dbrgn2="../../../_fpclass/fpdbrgn2.inc" i-groupsize="1"
clientside tag="BODY"
local_preview="&lt;table border=0 width=&quot;100%&quot;&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#FFFF00&quot; align=&quot;center&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Slut på området med databaseresultater.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;TR&gt;&lt;TD ALIGN=LEFT VALIGN=MIDDLE&gt;&lt;FORM&gt;&lt;NOBR&gt;&lt;INPUT TYPE=Button VALUE=&quot;  |&lt;  &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot;  &lt;  &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot;  &gt;  &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot;  &gt;|  &quot;&gt;  [1/1]&lt;/NOBR&gt;&lt;/FORM&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;"
preview="&lt;table border=0 width=&quot;100%&quot;&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#FFFF00&quot; align=&quot;left&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;Dette er slutningen af området med databaseresultater.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;TR&gt;&lt;TD ALIGN=LEFT VALIGN=MIDDLE&gt;&lt;NOBR&gt;&lt;INPUT TYPE=Button VALUE=&quot;  |&lt;  &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot;  &lt;  &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot;  &gt;  &quot;&gt;&lt;INPUT TYPE=Button VALUE=&quot;  &gt;|  &quot;&gt;  [1/1]&lt;/NOBR&gt;&lt;BR&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;" --><!--#include file="../../../_fpclass/fpdbrgn2.inc"-->
<!--webbot bot="DatabaseRegionEnd" i-CheckSum="9297" endspan -->

</body>

</html>
Avatar billede coltau Juniormester
12. marts 2002 - 12:04 #9
Jeg kan forestille mig at den fejler på denne linie:

strSelected = fp_RS("Navn") ' Valgte navn fra tabel 1

Jeg mener ikke at du kan bruge fp_RS da den kun eksistere i include-filen: <!--#include file="../../../_fpclass/fpdbrgn1.inc"-->

Du kan da i første omgang prøve at lave denne linie:
strSelected = ""
bare for at se om ikke det er det.
Avatar billede cayenne Nybegynder
12. marts 2002 - 12:09 #10
Har lige prøvet det, men det giver det samme resultat.
Hvis jeg ikke skriver fp_rs, så får jeg denne fejl:
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/inline/almen/service/DRresearch/closed/Medarbejdere/Fravaer/forsog/Adresseforsog.asp, line 56
Avatar billede coltau Juniormester
12. marts 2002 - 13:48 #11
Linie 56 er jo netop den linie du skulle ændre til:

strSelected = ""

der står jo ikke noget om 'rs'

I øvrigt kan jeg se at du anvender fp_rs længere nede i koden. Det betyder at ovenstående linie kan ændres til dette:

strSelected = FP_FieldHTML(fp_rs,"navn")

jeg håber du er med. Hvis du skal anvende felter fra udtrækket: fp_rs skal du ikke anvende fp_rs("navn") men en funktion der hedder: FP_FieldHTML(fp_rs,"navn")
Avatar billede cayenne Nybegynder
13. marts 2002 - 15:52 #12
Har prøvet med strSelected = "" Det gør bare ingen forskel.
Og jeg forstår stadig ikke hvorfor det resulterer i at resten af min formular "forsvinder". Nå, jeg er nok bare en klovn :o(
Men tusind tak for din hjælp. Du får pointene for dit besvær, det fortjener du :o)
Avatar billede coltau Juniormester
13. marts 2002 - 17:32 #13
Nej - dit største problem er at du forsøger arbejde videre med en kode der er dannet af frontpage. Hvis du skal kunne gøre det - skal du vide nøjagtig hvordan frontpage danner koden og det er vist et større kursus - hvis nogen overhovedet ved det.
Avatar billede th20 Nybegynder
07. marts 2004 - 13:02 #14
Hejsa
Jeg har lige prøvet den kode af som coltau skrev tidligere. Jeg får også type mismatch når jeg bruger rs("navn"), men bruger jeg "" virker min kode fint. Har det nogen stor betydning af jeg bare bruger "" ?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester