Jag vill kunna plocka ut månadsnamnet ur fältet from_date och använda detta som rubrik för alla poster som ligger inom samma månad. <% Nepp det vill sig inte! Vad är det som inte fungerar? Hejsan! bifogar felmeddelande och kod.. Pice of cake. Du hade olika namn på Connection varibeln... Följande meddelande rullas nu upp istället .. Hade bytt plats på From_Date till Date_From... Var mer tänkt som ett exempel för att ge dig en fingewrvisning. Så blev det att jag fick göra allt jobb... Ush o fy... :O( Hehe....En knepig loop...
Exempel:
Det ligger ett antal poster där datum innehåller månad 05och 06 dvs maj och juni. Då skall en postuppsättning loopas ut med rubrikerna:
Maj
Post 1
post 2
post 3
Juni
Post 1
Post 2
..osv
Syftet är att jag endast vill visa rubriker (månader) som verkligen har poster.
Databasen har fälten from_date och to_date
Jag misstänker att man kan göra nån loop i loopen så att säga, men min fantasi räcker inte till för att snickra en sådan.
Väl mött
TorbjörnSv: En knepig loop...
Dim rsTemp
Dim fldDateFrom
Dim fldDateTo
Dim vMonth
Dim LastMonth
Set rsTemp = Server.CreateObject("ADODB.Recordset")
rsTemp.Open "SELECT * FROM TableName ORDER BY Date_From", Connection, 0, 1
Set fldDateFrom = rsTemp("Date_From")
Set fldDateTo = rsTemp("Date_To")
Do Until rsTemp.Eof
vMonth = Month(fldDateFrom.Value)
If LastMonth <> vMonth Then
Response.Write "<B>" & MonthName(vMonth) & "<B><BR>" & vbCrLf
LastMonth = vMonth
End If
Response.Write fldDateFrom.Value & " - " & fldDateTo.Value & "<BR>" vbCrLf
rsTemp.MoveNext
Loop
%>Sv: En knepig loop...
Kan man på något sätt först hämta ut alla månadsvärden, skriva
ut dem bara en gång oavsett om samma månad förekommer fler gånger i databasen.
Därefter nån form av for.. each..
Månad
post
post
Månad
post
post
Det är nog lite optimistiskt av mig att tro att detta skall funka, men
man det kanske finns nåt sätt :)
mvh
TorbjörnSv: En knepig loop...
Du måste givetvis ange connection och tabellnamn...
Fördelen är att du slipper öppna flera recordset och på så sättt spara prestanda...Sv: En knepig loop...
Feltyp:
ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt. /plant/adm/test.asp, line 7
Koden-----------------------
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../data/garden.mdb")
Set rsTemp = Server.CreateObject("ADODB.Recordset")
rsTemp.Open "SELECT * FROM tbdatum ORDER BY Date_From", Connection, 0, 1
Set fldDateFrom = rsTemp("Date_From")
Set fldDateTo = rsTemp("Date_To")
Do Until rsTemp.Eof
vMonth = Month(fldDateFrom.Value)
If LastMonth = vMonth Then
Response.Write fldDateFrom.Value & " - " & fldDateTo.Value & "<BR>" & vbCrLf
Else
Response.Write "<B>" & MonthName(vMonth) & "<B><BR>" & vbCrLf
LastMonth = vMonth
End If
rsTemp.MoveNext
Loop
mvh
TorbjörnSv: En knepig loop...
<%
Dim Conn
Dim rsTemp
Dim fldDateFrom
Dim fldDateTo
Dim vMonth
Dim LastMonth
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../data/garden.mdb")
Set rsTemp = Server.CreateObject("ADODB.Recordset")
rsTemp.Open "SELECT * FROM tbdatum ORDER BY Date_From", Conn, 0, 1
Set fldDateFrom = rsTemp("Date_From")
Set fldDateTo = rsTemp("Date_To")
Do Until rsTemp.Eof
vMonth = Month(fldDateFrom.Value)
If LastMonth <> vMonth Then
Response.Write "<B>" & MonthName(vMonth) & "<B><BR>" & vbCrLf
LastMonth = vMonth
End If
Response.Write fldDateFrom.Value & " - " & fldDateTo.Value & "<BR>" & vbCrLf
rsTemp.MoveNext
Loop
rsTemp.Close
Set rsTemp = Nothing
Conn.Close
Set Conn = Nothing
%>Sv: En knepig loop...
/Det har inte angetts något värde för en eller flera nödvändiga parametrar./
Rad 7, dvs samma som SQL-satsen.
mvh
TorbjörnSv: En knepig loop...
<%
Dim Conn
Dim rsTemp
Dim fldFromDate
Dim fldToDate
Dim vMonth
Dim LastMonth
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../data/garden.mdb")
Set rsTemp = Server.CreateObject("ADODB.Recordset")
rsTemp.Open "SELECT * FROM tbdatum ORDER BY From_Date", Conn, 0, 1
Set fldFromDate = rsTemp("From_Date")
Set fldToDate = rsTemp("To_Date")
Do Until rsTemp.Eof
vMonth = Month(fldFromDate.Value)
If LastMonth <> vMonth Then
Response.Write "<B>" & MonthName(vMonth) & "<B><BR>" & vbCrLf
LastMonth = vMonth
End If
Response.Write fldFromDate.Value & " - " & fldToDate.Value & "<BR>" & vbCrLf
rsTemp.MoveNext
Loop
rsTemp.Close
Set rsTemp = Nothing
Conn.Close
Set Conn = Nothing
%>
Vilken tur att jag går på semester nu i två veckor. Slipper jag alla jobbiga fråger... :O)
Näää... Det är nog de jag lever för...Sv: En knepig loop...
Det funkade jättebra...
Skynda dig tillbaka från ledigheterna sen, vi är nog alla tacksamma för din hjälp.. :)
hälsningar
Torbjörn