Главная MS ACCESS Пример визуализации временных интервалов на шкале времени с изменяемым шагом шкалы.
Пример визуализации временных интервалов на шкале времени с изменяемым шагом шкалы.
Автор Lukas
18.12.2009 г.
Страница 1 из 2
Показывает возможный вариант визуализации временных интервалов с использованием ленточной формы и текстовых полей с условным форматированием. Можно текстовые поля с условным форматированием заменить выключателями, флажками или переключателями. Работать будет быстрее, но визуализация хуже, особенно если активирована опция "Элементы управления из тем Windows в формах" в параметрах приложения. В реальных приложениях необходимо добавить сервисный функционал, например варианты сортировок, фильтрацию по атрибутам и т.д.
Просмотров: 17156 1 Написал(а) Витек , в 18:07 28.05.2010 классная вещь. А можно ли сделать, чтобы показ длительности задач осуществлялся с помощью той же тени, которая показывает прошедший промежуток времени. Эта тень показывает промежуток очень точно. В то же время длительность задач зависит от 48 квадратиков и точность показа падает значительно. Например, если задача заканчивается 1 мая, то при детализации до месяца все равно заполнится квадратик, соответствующий маю. Или при детализации до 10 минут, если задача заканчивается в 13:07, то заполнится лишь квадратик, соответствующий периоду 12:50-13:00. То есть вообще некорректно получается. В итоге сильно теряется смысл визуализации, так как она совершенно не отражает реальной картины. Время начала и окончания задач либо показываются неверно либо сливаются в зависимости от того, какая детализация выбрана. Если это можно исправить, было бы хорошо. Если нет, то не вижу смысла в использовании этого классного НА ПЕРВЫЙ ВЗГЛЯД примера. Спасибо за внимание.
2 Написал(а) Lukas , в 21:05 28.05.2010 Этот пример изначально строился по принципу: если событие произошло/произойдет (например день рождения), то он ДОЛЖЕН отобразиться, независимо от интервала, который отображает квадратик, потому как событие было/будет. (От того что мы выбрали интервал - квартал, событие-то никто не отменит. : ) Баги с отображением времени вполне возможны, так как сильно не тестировал. Да и запросы можно облегчить. : ) Пропорциональное отображение длительности событий значительно проще отобразить в html. Можно и на форме Access, но несколько иначе. ...не вижу смысла в использовании... Так никто ведь и не заставляет. : ) Сделаете лучше, присылайте пример администратору, вместе порадуемся. Задача осчастливить все Access-ное сообщество и не ставилась. Это всего лишь ответ на вопрос в форуме.
3 Написал(а)
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
, в 10:15 08.11.2011 Lukas спасибо Вам за такой шикарный пример! Подскажите, пожалуйста, можно ли квадратики отображающее интервал(затемнённые) сделать доступными, хочу сделать, чтоб по нажатию на этот квадратик происходило определённое событие. Me.Controls("f" & i).Enabled = true – в цикле не помогает.
4 Написал(а) sanek , в 14:32 10.11.2011 Решил проблему тем, что сделал на верх дополнительные textbox а них уже сделал доступными. Теперь вопрос как сделать чтоб промежуток времени отображался правильно????
5 Написал(а) Lukas , в 18:08 13.11.2011 sanek, там надо править процедуры формирования инструкции SQL запросов-источников. Со временем там легкий бардачекс, да и с датами запросы можно облегчить. Сам я пользую другое решение, потому этот вариант до праведного конца не довел. Сори.
6 Написал(а)
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
, в 09:10 16.11.2011 =) разобрался с датами, всё прекрасно работает. Lukas можно поинтересоваться какой вариант Вы используете?
7 Написал(а) Lukas , в 19:01 17.11.2011 Я формирую html и показываю в браузере. Там значительно проще показывать пропорциональные временные отрезки.
8 Написал(а) Sanek , в 07:29 28.11.2011 У меня есть задания которые имеют одинаковый номер но разный период времени вот хочу сделать чтоб они группировались в одну строчку, подскажите пожалуйста как это правильно сделать Переделываю запрос таким образом, но выдаёт ошибку: Private Function GetSQL(ByVal dStart As Date, Interval As Double) As String Dim strSQL As String Dim i As Integer Dim sStart As String Dim sEnd As String strSQL = "SELECT ItemName" strSQL = strSQL & vbCrLf & "FROM tblItem " strSQL = strSQL & vbCrLf & "Group BY ItemName" For i = 1 To 48 sStart = Format$(dStart + (i - 1) * Interval, SQLDATETIME) sEnd = Format$(dStart + i * Interval - 1 / 24 / 360, SQLDATETIME) strSQL = strSQL & ", " & vbCrLf & "Having(DatStart + TimeStart BETWEEN " & sStart & " AND " & sEnd & " OR DatEnd + TimeEnd BETWEEN " & sStart & " AND " & sEnd & " OR " & sStart & " BETWEEN DatStart + TimeStart AND DatEnd + TimeEnd OR " & sEnd & " BETWEEN DatStart + TimeStart AND DatEnd + TimeEnd) As f" & i Next i sStart = Format$(dStart, SQLDATETIME) sEnd = Format$(dStart + 48 * Interval - 1 / 24 / 360, SQLDATETIME) strSQL = strSQL & vbCrLf & " FROM tblItem " strSQL = strSQL & vbCrLf & "Group BY ItemName" & vbCrLf & " Having DatStart + TimeStart BETWEEN " & sStart & " AND " & sEnd & " OR DatEnd + TimeEnd BETWEEN " & sStart & " AND " & sEnd & " OR " & sStart & " BETWEEN DatStart + TimeStart AND DatEnd + TimeEnd OR " & sEnd & " BETWEEN DatStart + TimeStart AND DatEnd + TimeEnd" strSQL = strSQL & vbCrLf & " ORDER BY ItemName" GetSQL = strSQL End Function
9 Написал(а) Sanek , в 15:52 05.01.2012 Разобрался как группировать, может кому надо: Private Function GetSQL(ByVal dStart As Date, Interval As Double) As String Dim strSQL As String Dim i As Integer Dim sStart As String Dim sEnd As String strSQL = "SELECT tblItem.ItemName" For i = 1 To 48 sStart = Format$(dStart + (i - 1) * Interval, SQLDATETIME) sEnd = Format$(dStart + i * Interval - 1 / 24 / 360, SQLDATETIME) strSQL = strSQL & ", " & vbCrLf & "Sum(DatStart + TimeStart>= " & sStart & " AND DatStart + TimeStart=" & sStart & " AND DatEnd + TimeEnd= DatStart + TimeStart AND " & sStart & " = DatStart + TimeStart AND " & sEnd & "=Now()" strSQL = strSQL & vbCrLf & " group BY tblItem.ItemName" GetSQL = strSQL Debug.Print strSQL End Function
10 Написал(а) Sanek , в 09:20 17.01.2012 Подскажите пожалуйста как поменять цвет ячеек, которые являются индикаторами присутствия задания
Реклама на сайте