Avatar billede bruger64 Nybegynder
24. februar 2006 - 07:32 Der er 17 kommentarer og
1 løsning

hvordan vælge flere enheder

jeg har to select menuer i en form:
den sidste hvor man kan vælge mdr, skal man kunne vælge flere måneder ved at holde crtl nede, det kan man sådan set også men jeg får følgende fejlmelding på den side som sende s til, den vil ikke acceptere flere valg?
Hvordan får jeg den til at acceptere flere valg og vise dette på siden som sendes til?


Microsoft JET Database Engine error '80040e14'

Syntax error (comma) in query expression 'mdrid = 2, 3'.

Min select menu ser sådan ud:

<select name="list2" size="4" multiple="multiple">
  <option>Vælg mdr</option>

<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "mdr", objConn,  ,  , adCmdtable
Do While Not RS.EOF%>
<option value="<%=rs("mdrid")%>"><%=rs("mdrnavn")%></option>
        <% rs.movenext
    loop
    rs.close
    set rs = nothing       
    %>
  </select>
<input type="submit" name="Submit" value="Submit" />
Avatar billede morhan Novice
24. februar 2006 - 08:16 #1
WHERE mdrid = 2, 3
er ikke gyldig syntax. Det skal være

WHERE mdrid = 2 OR mdrid = 3
eller
WHERE mdrid IN (2,3)
Avatar billede bruger64 Nybegynder
24. februar 2006 - 08:53 #2
kan du evt. uddybe?
forstår ikke helt din kommentar - der er 12 måneder at vælge imellem og man skal gerne kunne vælge en, to eller flere på samme tid.
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 09:11 #3
Jeg skal se din SQL-sætning.

Men uimiddelbart vil jeg sige, at dit felt 'mdrid' i databasen, skal være at typen streng. Og så skal du huske at have '' rundt om:

mdrid = '" & request.form("mdrid") & "'"
Avatar billede bruger64 Nybegynder
24. februar 2006 - 09:25 #4
her min side hvorfra der skal vælges aar og mdr:
<% Dim rs,udstillingsid,udstillingsnavn,udstillingsbeskrivelse,antalpic,aar

udstillingsid=request("udstillingsid")

Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from udstillinger where udstillingsid = " & udstillingsid & " ",objConn, , ,adcmdtext
%>
  <p>
      <%response.write "Udstilling id: " & rs("udstillingsid")
      udstillingsid=rs("udstillingsid")
      %>
    </p>
    <p>
      <%response.write "udstillingsnavn: " & rs("udstillingsnavn")
      udstillingsnavn=rs("udstillingsnavn")
      %>
    </p>
    <p>
      <%response.write "Beskrivelse: " & rs("udstillingsbeskrivelse")
      udstillingsbeskrivelse=rs("udstillingsbeskrivelse")%>
    </p>
        <p>
      <%response.write "Antal billeder: " & rs("antalpic")
      antalpic=rs("antalpic")%>
    </p>
<% rs.Close
Set rs = Nothing
%>
<!--formularen aar-->
<form action="confirm.asp" method="post">
<select name="list1">
<%
aar = request("aar")
if aar = "" then %>
<option>Vælg år</option>
<% end if
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "aar", objConn,  ,  , adCmdtable
Do While Not RS.EOF%>
<option value="<%=rs("aarid")%>"><%=rs("aarstal")%></option>
        <% rs.movenext
    loop
    rs.close
    set rs = nothing       
    %>
  </select>
   

<select name="list2" size="4" multiple="multiple">
  <option>Vælg mdr</option>

<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "mdr", objConn,  ,  , adCmdtable
Do While Not RS.EOF%>
<option value="<%=rs("mdrid")%>"><%=rs("mdrnavn")%></option>
        <% rs.movenext
    loop
    rs.close
    set rs = nothing       
    %>
  </select>
<input type="submit" name="Submit" value="Submit" />
<input name="udstillingsid" type="hidden" value="<%=udstillingsid%>" />
</form>
her min side som samler alle de valgte informationer:
<% Dim rs, udstillingsid,udstillingsnavn,udstillingsbeskrivelse,antalpic,mdrid,aarid,aarstal,mdrnavn
udstillingsid=request("udstillingsid")
%>
<p>udstillingsid:
  <%response.write udstillingsid %>
</p>
<%
aarid=request("list1")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from aar where aarid = " & aarid & " ",objConn, , ,adcmdtext
    %>
<p>aarid:
  <%response.write aarid %>
</p>
<p>
<%response.write "aarstal: " & rs("aarstal")%>
</p>
    <%rs.close
    set rs = nothing       
    %>
<%
mdrid=request("list2")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from mdr where mdrid = " & mdrid & " ",objConn, , ,adcmdtext
    %>
<p>mdrid:
  <%response.write mdrid %>
</p>

<p>
<%response.write "mdrnavn: " & rs("mdrnavn")%>
</p>
    <%rs.close
    set rs = nothing       
    %>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from udstillinger where udstillingsid = " & udstillingsid & " ",objConn, , ,adcmdtext%>

    <p>
      <%response.write "udstillingsnavn: " & rs("udstillingsnavn")%>
    </p>
    <p>
      <%response.write "Beskrivelse: " & rs("udstillingsbeskrivelse")%>
    </p>
        <p>
      <%response.write "Antal billeder: " & rs("antalpic")%>
    </p>
    <%rs.close
    set rs = nothing       
    %>
<% response.write "<p><a href='email.asp?udstillingsid="&udstillingsid&"&mdrid="&mdrid&"&aarid="&aarid&"'>bekræft</a></p>"
%>
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 09:37 #5
Jo, men jeg skal se confirm.asp, det er vel i den fil fejlen er i?
Avatar billede bruger64 Nybegynder
24. februar 2006 - 09:42 #6
ja den kom til at ligge lidt gemt:

her min side som samler alle de valgte informationer:

<% Dim rs, udstillingsid,udstillingsnavn,udstillingsbeskrivelse,antalpic,mdrid,aarid,aarstal,mdrnavn
udstillingsid=request("udstillingsid")
%>
<p>udstillingsid:
  <%response.write udstillingsid %>
</p>
<%
aarid=request("list1")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from aar where aarid = " & aarid & " ",objConn, , ,adcmdtext
    %>
<p>aarid:
  <%response.write aarid %>
</p>
<p>
<%response.write "aarstal: " & rs("aarstal")%>
</p>
    <%rs.close
    set rs = nothing       
    %>
<%
mdrid=request("list2")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from mdr where mdrid = " & mdrid & " ",objConn, , ,adcmdtext
    %>
<p>mdrid:
  <%response.write mdrid %>
</p>

<p>
<%response.write "mdrnavn: " & rs("mdrnavn")%>
</p>
    <%rs.close
    set rs = nothing       
    %>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select * from udstillinger where udstillingsid = " & udstillingsid & " ",objConn, , ,adcmdtext%>

    <p>
      <%response.write "udstillingsnavn: " & rs("udstillingsnavn")%>
    </p>
    <p>
      <%response.write "Beskrivelse: " & rs("udstillingsbeskrivelse")%>
    </p>
        <p>
      <%response.write "Antal billeder: " & rs("antalpic")%>
    </p>
    <%rs.close
    set rs = nothing       
    %>
<% response.write "<p><a href='email.asp?udstillingsid="&udstillingsid&"&mdrid="&mdrid&"&aarid="&aarid&"'>bekræft</a></p>"
%>
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 09:59 #7
Er det i denne linie fejlen ligger i?

rs.open "select * from mdr where mdrid = " & mdrid & " ",objConn, , ,adcmdtext
Avatar billede bruger64 Nybegynder
24. februar 2006 - 10:12 #8
ja
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 10:15 #9
Så har morhan ret.
Avatar billede bruger64 Nybegynder
24. februar 2006 - 10:22 #10
skal der så stå:
WHERE mdrid IN (1,2,3,4,5,6,7,8,9,10,11,12)
eller:
WHERE mdrid = 1 OR mdrid = 2 OR mdrid = 3 OR mdrid = 4 OR mdrid = 5 OR mdrid = 6 OR mdrid = 7 OR mdrid = 8 OR mdrid = 9 OR mdrid = 10 OR mdrid = 11 OR mdrid = 12
Avatar billede bruger64 Nybegynder
24. februar 2006 - 10:22 #11
og IN hvad betyder det
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 10:28 #12
http://www.w3schools.com/sql/sql_in.asp

Der skal stå:
rs.open "select * from mdr where mdrid IN = (" & mdrid & ") ",objConn, , ,adcmdtext
Avatar billede bruger64 Nybegynder
24. februar 2006 - 10:34 #13
nu får jeg denne fejl:

In operator without () in query expression 'mdrid IN = (2, 3)'.
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 10:42 #14
'=' tegnet skal selvf. ikke være der.

rs.open "select * from mdr where mdrid IN (" & mdrid & ") ",objConn, , ,adcmdtext
Avatar billede bruger64 Nybegynder
24. februar 2006 - 10:50 #15
takker - nu bliver mdrid synlige  - men mdrnavn skiver kun den første valgte måned?
vælger jeg eksempelvis måden februar,marts og april altså mdrid 2,3,4 viser den /skriver den kun mdrnavn'et februar

<%response.write "mdrnavn: " & rs("mdrnavn")%>
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 10:59 #16
Du skal selvf. huske at loope det igennem:

If not rs.eof then
Do
  response.write("mdrnavn: " & rs("mdrnavn"))
rs.movenext
Loop until rs.eof
end if
Avatar billede bruger64 Nybegynder
24. februar 2006 - 11:20 #17
takker, for point svar mig
Avatar billede musicchart.dk Nybegynder
24. februar 2006 - 11:57 #18
Så lidt :o)
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