Avatar billede solja Nybegynder
22. september 2003 - 23:34 Der er 8 kommentarer og
1 løsning

Ind i en multiple select fra Access database

Jeg har en multiple selectbox med forfattere. Hver forfatter, der bliver valgt i denne selectbox bliver så gemt i en tabel i min database, og det virker fint (selvom mere en én bliver valgt).

Problemet er så når jeg skal lave en formular, til at rette i. Nu skal jeg hente alle forfatterne i en selectbox, men kun dem der er valgte i forvejen, skal være "selected". Alle forfattere er i en tabel og de valgte er i en anden, der så relaterer til en bestemt udgave, hvordan skal jeg gøre dette?
Avatar billede thb Nybegynder
22. september 2003 - 23:59 #1
Er det ikke muligt at checke om de at selected og så udskrive det i selecten..

altså

if forfatter = true then
ch = " selected"
else
ch = ""
end if

<option value="" <%=ch%>>etellerandet</option>

Thomas
Avatar billede solja Nybegynder
23. september 2003 - 00:41 #2
Det virker stadig ikke, men nu får jeg da én af forfatterne skrevet som selected, selvom der er flere.

Her er koden for selecten...

<SELECT size="6" multiple name="hovundi">

<% 
 
strSQL = "SELECT ID, efternavn, fornavn FROM Forfattere ORDER BY efternavn, fornavn"
Set rsHent = conn.Execute(strSQL)
 
strSQL2 = "SELECT ID, forfatter, udgave FROM SelectedForfattere WHERE udgave = " & Request.QueryString("ID")
set rsHent2 = conn.Execute(strSQL2)

do until rsHent.EOF
ch = ""

do until rsHent2.EOF
 
if rsHent2("forfatter") = rsHent("ID") then
ch = "selected"
end if
 
rsHent2.MoveNext
Loop
 
Response.Write("<OPTION "& ch &" VALUE=" & rsHent("ID") & ">" & rsHent("efternavn") & ", " & rsHent("fornavn") & "</OPTION>")
 
rsHent.movenext
loop
rsHent.close
set rsHent = nothing
   
%>
</SELECT>


Jeg ved ikke hvad der er galt, håber at nogen kan hjælpe mig :)

solja
Avatar billede thb Nybegynder
23. september 2003 - 00:48 #3
Hvor kommer request("id") fra.. og hvad forbinder de to tabeller.. ??

Vender nok først tilbage imorgen.. :)

Thomas
Avatar billede solja Nybegynder
23. september 2003 - 00:56 #4
Tabellen "forfattere" indeholder alle forfattere med et fornavn, efternavn og id. Så har jeg også en tabel "udgave", som indeholder et idog meget mere, og det er der request("id") kommer fra...altså det er udgavens id. Tabellen "SelectedForfattere" er så tabellen der forbinder udgaven med forfatterne.

Jeg håber du kan forstå mener :)

solja
Avatar billede thb Nybegynder
23. september 2003 - 12:32 #5
Tror at jeg har forstået det.. Virker det her ikke..  '
Du må selv lige tilpasse det.. Jeg kunne ikke lige over skue dine lange betegnelser.. :)

<%
    id = request.querystring("id")
   
    SQL = "select * from forfattere"
    Set s = conn.Execute(SQL)
   
    if not s.eof
       
        response.write "<SELECT size='6' multiple name='hovundi'>"
       
        s.movefirst
        Do while not s.eof
       
            SQL = "select * from selectedforfattere where forfatter_id=" & s("id") & " and udgave_id=" & id
            set d = conn.Execute(SQL)
           
            if not d.eof then
                response.write "<option value='' selected>Values</option>"
            else
                response.write "<option value=''>Values</option>"
            end if
           
            d.close
            Set d = Nothing
       
        s.movenext
        Loop
       
        g
       
        response.write "</select>"
   
    end if

    s.close
    Set s = Nothing
%>

Thomas
Avatar billede solja Nybegynder
23. september 2003 - 14:11 #6
jamen dog...det virker :)

Hvordan giver jeg dig dine fortjente point?

solja
Avatar billede thb Nybegynder
23. september 2003 - 19:19 #7
Jeg laver lige et svar.. :)
Og så godkender du bare..

Thomas
Avatar billede solja Nybegynder
23. september 2003 - 20:07 #8
Værsgo...og tak for hjælpen :)

solja
Avatar billede thb Nybegynder
23. september 2003 - 20:10 #9
Det var så lidt.. Skulle det være en anden gang.. :)

Thomas
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