SSebbeMedlem sedan jan. 20032 285 inlägg
plelkes skrev:
Jag får:
Oväntat 'Next'
på rad 37
33: If intType > 1 Then
34: Response.Write("<a href=""?type=" & intType - 1 & """><<</a> ")
35: Else
36: Response.Write("<< ")
37; Next
38:
39:If intType < intLast Then
Hehe, ojdå! Byt bara ut den raden mot 'End If'. ;) :r
PplelkesMedlem sedan mars 2002823 inlägg Sebbe, som vanligt ett stort tack till digM E N kan du förklar hur du tänkt?
SSebbeMedlem sedan jan. 20032 285 inlägg Är inte så bra på att föklara hur jag tänkt, men jag får väl försöka. ;)
Först hämtar man ut de tre fälten som används där de matchar varandra som du hade skrivit tidigare OCH där TypeId = nummret i Request.QueryString("type") och listar ut dem.
Sedan kollar man vilket som är den sista typen som finns, och om den aktuella typens ID är mindre än den sista typens ID så skrivs det ut en länk till nästa typ och om den aktuella typens ID är större än 1 så skrivs det ut en länk till föregående typ.
Är som sagt dålig på att förklara. ;)
PplelkesMedlem sedan mars 2002823 inlägg tyvärr fattar jag inte så mycket mera*skäms*
Men du använder inte dig av paging - eller hur?
vad betyder
v
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
i koden?
Vad jag fattar så bildas navigattionslänkarna med
If intType > 1 Then
Response.Write("<a href=""?type=" & intType - 1 & """><<</a> ")
Else
Response.Write("<< ")
Next
If intType < intLast Then
Response.Write("<a href=""?type=" & intType + 1 & """>>></a> ")
Else
Response.Write(">> ")
End If
två frågor till:
- Om jag vill ha navigationslänkar där de olika "type" skrivs ut - går detta?
- Konstruktionen är tänkt att användas tiill "formulär" med kryssrutor och txt-fält. Kommer det att funka?
SSebbeMedlem sedan jan. 20032 285 inlägg
plelkes skrev:
Men du använder inte dig av paging - eller hur?
Jo, en viss sorts paging använder jag mig allt av! Bara inte den "inbyggda" versionen.
plelkes skrev:
vad betyder
v
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
i koden?
Det är det där som tar ut sista id:t från tblFluidsTypes.
plelkes skrev:
Vad jag fattar så bildas navigattionslänkarna med
If intType > 1 Then
Response.Write("<a href=""?type=" & intType - 1 & """><<</a> ")
Else
Response.Write("<< ")
Next
If intType < intLast Then
Response.Write("<a href=""?type=" & intType + 1 & """>>></a> ")
Else
Response.Write(">> ")
End If
Japp, det är korrekt!
plelkes skrev:
två frågor till:
- Om jag vill ha navigationslänkar där de olika "type" skrivs ut - går detta?
- Konstruktionen är tänkt att användas tiill "formulär" med kryssrutor och txt-fält. Kommer det att funka?
Ungefär så här? :)
If Request.QueryString("type") = "" Then
intType = 1
Else
intType = CInt(Request.QueryString("type"))
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("vbalans.mdb")
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
intCount = intCount + 1
Response.Write(objRS("TypeNamn") & "<p>")
Do Until objRS.EOF
Response.Write("<input type=""text"" name=""fluid" & intCount & """ value=""" & objRS("FluidName") & """> <input type=""checkbox"" name=""fluid"" value=""" & intCount & """> & "<br>")
objRS.MoveNext
Loop
Else
Response.Write("Det finns inga av den typen.")
End If
Set objRS = Nothing
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
objConn.Close : Set objConn = Nothing
For i = 1 To intLast
Set objRS = objConn.Execute("SELECT TypeName FROM tblFluidTypes WHERE TypeID = " & i)
If NOT i = intType Then
Response.Write("<a href=""?page=" & i & """>" & objRS("TypeName") & "</a> ")
Else
Response.Write(objRS("TypeName") & " ")
End If
Next
Set objRS = Nothing
PplelkesMedlem sedan mars 2002823 inlägg
Jo, en viss sorts paging använder jag mig allt av! Bara inte den "inbyggda" versionen
Och jag som försökte få den "inbyggda" att funka....
kan du försöka med "pseudokod" = på ren svenska säge nednastående:
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
SSebbeMedlem sedan jan. 20032 285 inlägg
plelkes skrev:
kan du försöka med "pseudokod" = på ren svenska säge nednastående:
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
Sätt intLast till att bli det högsta värdet som finns i kolumnen TypeID i tabellen tblFluidTypes.
PplelkesMedlem sedan mars 2002823 inlägg oki - så långt är jag med, men vad gör
(0)
SSebbeMedlem sedan jan. 20032 285 inlägg
plelkes skrev:
oki - så långt är jag med, men vad gör
(0)
0:an står för ordningsnummret i SELECT-satsen, alltså Max(TypeID) i det här fallet.
Funkade koden jag skrev förut för att skriva ut typerna i pagingen? (Ren nyfikenhet ;))
PplelkesMedlem sedan mars 2002823 inlägg <%
If Request.QueryString("type") = "" Then
intType = 1
Else
intType = CInt(Request.QueryString("type"))
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("vbalans.mdb")
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
Response.Write(objRS("TypeNamn") & "<p>")
Do Until objRS.EOF
Response.Write(objRS("FluidNamn") & "<br>")
objRS.MoveNext
Loop
Else
Response.Write("Det finns inga av den typen.")
End If
Set objRS = Nothing
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
objConn.Close : Set objConn = Nothing
For i = 1 To intLast
Set objRS = objConn.Execute("SELECT TypeName FROM tblFluidTypes WHERE TypeID = " & i)
If NOT i = intType Then
Response.Write("<a href=""?page=" & i & """>" & objRS("TypeName") & "</a> ")
Else
Response.Write(objRS("TypeName") & " ")
End If
Next
Set objRS = Nothing
%>
det krävs ett
objConn
..
PplelkesMedlem sedan mars 2002823 inlägg
0:an står för ordningsnummret i SELECT-satsen, alltså Max(TypeID) i det här fallet
Har aldrig sett/lagt märke till denna konstruktion...
När anser du att konstruktonen bör/skall användas?
SSebbeMedlem sedan jan. 20032 285 inlägg <%
If Request.QueryString("type") = "" Then
intType = 1
Else
intType = CInt(Request.QueryString("type"))
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("vbalans.mdb")
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
Response.Write(objRS("TypeNamn") & "<p>")
Do Until objRS.EOF
Response.Write(objRS("FluidNamn") & "<br>")
objRS.MoveNext
Loop
Else
Response.Write("Det finns inga av den typen.")
End If
Set objRS = Nothing
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
For i = 1 To intLast
Set objRS = objConn.Execute("SELECT TypeName FROM tblFluidTypes WHERE TypeID = " & i)
If NOT i = intType Then
Response.Write("<a href=""?page=" & i & """>" & objRS("TypeName") & "</a> ")
Else
Response.Write(objRS("TypeName") & " ")
End If
Next
Set objRS = Nothing
objConn.Close : Set objConn = Nothing
%>
Jag använder den där konstruktionen när jag bara ska ta ut ett värde från databasen utan loopar eller liknande. :)
PplelkesMedlem sedan mars 2002823 inlägg din senaste kod(jag klistrade in som det var) gav felmess
Microsoft JET Database Engine fel '80040e10'
Det har inte angetts något värde för en eller flera nödvändiga parametrar
@ndersMedlem sedan juni 200032 967 inläggKontrollera att tabell- och fältnamn stämmer i alla SQL-frågor.
Mvh
SSebbeMedlem sedan jan. 20032 285 inlägg /red Nu vet jag! ;)
<%
If Request.QueryString("type") = "" Then
intType = 1
Else
intType = CInt(Request.QueryString("type"))
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("vbalans.mdb")
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
Response.Write(objRS("TypeNamn") & "<p>")
Do Until objRS.EOF
Response.Write(objRS("FluidNamn") & "<br>")
objRS.MoveNext
Loop
Else
Response.Write("Det finns inga av den typen.")
End If
Set objRS = Nothing
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
For i = 1 To intLast
Set objRS = objConn.Execute("SELECT TypeNamn FROM tblFluidTypes WHERE TypeID = " & i)
If NOT i = intType Then
Response.Write("<a href=""?page=" & i & """>" & objRS("TypeName") & "</a> ")
Else
Response.Write(objRS("TypeName") & " ")
End If
Next
Set objRS = Nothing
objConn.Close : Set objConn = Nothing
%>
PplelkesMedlem sedan mars 2002823 inlägg
På vilken rad?
Set objRS = objConn.Execute("SELECT TypeNamn FROM tblFluidTypes WHERE TypeID = " & i)
PplelkesMedlem sedan mars 2002823 inlägg efter att jag följde @nders råd och redigerade fältnamnen lite så fick jag det att nästan fungera
- länkarna funkar ej ( prova gärna själva)
- det kommer upp en "blodprodukt" innan första länken
SSebbeMedlem sedan jan. 20032 285 inlägg Det är som vanligt jag som är klantig! :r
<%
If Request.QueryString("type") = "" Then
intType = 1
Else
intType = CInt(Request.QueryString("type"))
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("vbalans.mdb")
strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
Response.Write(objRS("TypeNamn") & "<p>")
Do Until objRS.EOF
Response.Write(objRS("FluidNamn") & "<br>")
objRS.MoveNext
Loop
Else
Response.Write("Det finns inga av den typen.")
End If
Response.Write("<br>")
Set objRS = Nothing
intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
For i = 1 To intLast
Set objRS = objConn.Execute("SELECT TypeNamn FROM tblFluidTypes WHERE TypeID = " & i)
If NOT i = intType Then
Response.Write("<a href=""?type=" & i & """>" & objRS("TypeName") & "</a> ")
Else
Response.Write(objRS("TypeNamn") & " ")
End If
Next
Set objRS = Nothing
objConn.Close : Set objConn = Nothing
%>
PplelkesMedlem sedan mars 2002823 inlägg är inte detta samma kod - eller är jag blind?