Jag har en access databas med en massa bokningar, dessa skulle jag vilja få ut på en översiktsvy, typ en kalender för dagens datum, med gubbar & klockslag och färgmarkeringar i tabellen när dom är bokade, i databasen har jag starttid ex. 2007-06-25 15:00:00 & stopptid ex. 2007-06-25 17:00:00 som anger när bokningarna startar & slutar Skulle nog börja med att testa att ta ett gäng celler i en tr och fylla dessa så tätt som du vill visa, halvtimme, kvart eller timme. Sen skulle jag ha en snurra som ritar just de cellerna som du skickar in tid för, ex 8:30 - 14:00, då fyller den typ 1 halv cell och sen 7 st till (eller vad det nu blir för antal). Gick inte det, testa kanske gif-bild som du sätter width=x på. Jag har gjort en sån funktion i ett projekt jag håller på med. Använder mig av Thomas lösning med div:ar. Tack för svar, körde på direkt med divar men glömde tacka och sätta tråden som löst Översiktskalender
Nägon som har tips på hur jag kan lösa detta ?
________ 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00
Gubbe 1 <----------------->
Gubbe 2 _______________ <-------------------------->Sv: Översiktskalender
Sv: Översiktskalender
Det lägsta tidsintervallet jag jobbar med är en halvtimme. Här är ett utdrag ur min kod om du kan tyda den:
<code>
PIXELS_PER_HALFHOUR=10
Dim x, width As Integer
x = (t.Starttime * PIXELS_PER_HALFHOUR) - 2 'startpixel
width = ((t.Stoptime - t.Starttime) * PIXELS_PER_HALFHOUR) - 1
s2.Append("<a title=""Planerat: ").Append(t.Taskname & " " & t.Extrainfo).Append(""" href=""" & _EditTaskURL & "?action=edit&id=").Append(t.Taskid.ToString).Append(""" style=""font-size:7px;border:1px solid black;position:absolute;left:" & x.ToString & "px;top:0px;height:" &
(Boxheight).ToString & "px;width:").Append(width.ToString).Append("px;background-color:").Append
(t.Color).Append(";""></a>")
Jag konverterar också start- och sluttiden till heltalsvärden via denna funktion:
Public Shared Function TimeToInteger(ByVal d As DateTime) As Integer
'konverterar tidsvärde till heltal
Dim Timevalue As Integer = d.TimeOfDay.Hours * 2 + d.TimeOfDay.Minutes \ 30
Return Timevalue
End Function
</code>
Hoppas det kan hjälpa dig en bit på vägen!Sv:Översiktskalender