SSannyWMedlem sedan jan. 2003438 inlägg Har två stycken select den ena bygger på serie och den andra bygger på lag.
Att välja serie är inga problem då Select bygger på division alltså serie, men när jag skall selectera på lag så blir det lite problem. Jag får fram rätt uppgifter efter selecten men sedan kommer jag inte längre, alltså den nya sidan som skapas fungerar inte som den skall.
SELECT - TOM
Hur kan man gå runt detta? Några ideér?
Var inne på en tanke med typ om laget som visas är från serieA så skall lagen från serieA visas i Selecten. Osv. Om ett lag från serieB visas så kommer lagen från serieB visas i selecten.
Nedan följer en kodsnutt:
<%
div = Request.Querystring("div")
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/db.mdb")
SQL = "SELECT DISTINCT(lag) FROM tabell WHERE division = '" & div & "' ORDER BY lag ASC"
rs.Open SQL, MinCon, 3, 3
%>
<% DO UNTIL rs.EOF %>
<OPTION VALUE="default.asp?path=t&lag=<%=rs("lag")%>&typ=mal"><%=rs("lag")%></OPTION>
<%
x = x+1
rs.MoveNext
Loop
rs.Close
MinCon.Close
%>
Hoppas på lite hjälp, tack på förhand.
LLarsGMedlem sedan dec. 200012 464 inlägg Får du rätt värde i variabeln div? Lägg till en testutskrift.
SQL = "SELECT DISTINCT lag FROM tabell WHERE division = '" & div & "' ORDER BY lag ASC"
response.write "Debug: SQL = " & SQL & "<b>"
response.end
red:
Distinct är inte en function, så parenteserna är bara vilseledande.
SSannyWMedlem sedan jan. 2003438 inlägg Fick inte test utskriften att funka, men ja. Jag tror att rätt variabel hamnar där.
Hmm. skall försöka förklara. Problemet är kanske att jag inte visade hela koden, men den är bra lång. Och problemet ligger i föregående kod-snutt.
Jo, min högra select skapas av ovanstående kod. Men den byggs upp av lagnamn som skickar laddar om sidan med följande:
default.asp?path=t&lag=<%=rs("lag")%>&typ=mal"><%=rs("lag")%>
Vilket gör att WHERE inte finns och blir "blank":
SQL = "SELECT DISTINCT lag FROM tabell WHERE [B]division = '" & div & "' [/B] ORDER BY lag ASC"
Så vad jag tänkte på var om man kan göra "IF" eller "CASE" -sats som bygger olika vid nedanstående olika Request.Querystrings:
default.asp?path=t&lag=<%=rs("lag")%>&typ=mal
default.asp?path=t&div=serieA&typ=mal
Hoppas inte detta rörde till det ännu mer..........
Engine^Medlem sedan dec. 20003 887 inläggOm div är tom innebär ju det att den inte kommer med från din första formulärspostning. Rimligtvis så är det då i den kodbiten som ditt problem ligger.
SSannyWMedlem sedan jan. 2003438 inlägg Nu är jag inne på ett område som är väldigt nytt för mig. Hoppas någon kan slänga en liten blick och berätta vad jag har gjort för fel. - Det jag försöker göra är kanske INTE möljligt.... Fel blir det iallafall.
<%
Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("db/db.mdb")
div = Request.Querystring("div")
If div = "" THEN
sortera = " WHERE division = rs('division') (försöker få hit RecSet)"
ELSE
sortera = " WHERE division = '" & div & "' (försöker använda Request.Querystring)"
END IF
SQL = "SELECT DISTINCT lag FROM tabell '" & sortera & "' ORDER BY lag ASC"
rs.Open SQL, MinCon, 3, 3
%>
Felmeddelande:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i FROM-instruktion.
SsolbulleMedlem sedan mars 20015 287 inlägg (försöker få hit RecSet) ???
Vilket då? Det du ska till att öppna!?!
Förklara lite mer...
@ndersMedlem sedan juni 200032 969 inläggTa bort apostroferna runt innehållet i variabeln sortera när du skapar SQL-frågan.