|
69 Кб. |
|
| Привет все. Вот на основе календаря делаю нечто. (макет формы записи).
1. Идея заключается в том, что при открытии формы все списки должны быть заблокированы. С этим проблем нет. При выборе дня должен разблокироваться соответствующий список, остальные заблокироваться. Вместе с тем и выделение если есть убираться. Постоянно выпадает ошибка с требованием сохранить изменения перед выполнением requery. Может refresh применить? Пришлось заремить массу строк.
2. Как поменять цвет соответствующего списка. Дату получилось условным, а со списком такое не прокатывает.
3. И вобще как на все это написать функцию. Чего-то функции не писал в модулях, а тут вроде созрел, а с чего начать? Уж больно много получается кода повтоять с небольшими изменениями. Там циклы что ли или чего как? | |
|
| |
|
|
|
| Бегло:
Для начала убрать из формы календарик и весь его код, что - бы не мешался.
Сделать поле даты и кнопку с вызовом календаря (примеры есть на сайте).
(Потом, по желанию, можно будет вернуть)
1. Снять выделение со списка можно проще - присвоить ему значение Null.
2. Цвет фона списка можно поменять изменив значение его BackColor свойства.
3. Вопрос не слишком конкретный, что бы дать на него осмысленный ответ.
Работать с некоторым количеством однотипных контролов удобно в цикле, при
условии задания им имен типа:
lbl1, lbl2, lbl3 ... lbl22
Обращаться тогда к контролам можно в цикле, например:
For i=1 To 22
Me.Controls("lbl" & i).Visible=True
Next i
|
Имена контролов, форм, таблиц и др. надо давать на аглицком языке и осмысленные.
'Например одной процедурой изменять доступ и снимать выделение в 7 списках
Private Sub SetCurrentListBox(Index As Integer)
Dim i As Integer
For i = 1 To 7
With Me.Controls("lst" & i)
.Enabled = (Index = i)
.Value = Null
End With
Next i
End Sub
'Вызов в процедуре после обновления поля текущей даты:
Call SetCurrentListBox(Weekday(Me.txtCurrentDate, vbMonday))
|
| |
|
| |
|
89 Кб. |
|
| Лукас, спасибо за консультацию. Я уже чего-то сообразил. Осталось поработать над заполнением времени и дальше. .. Календарь такой специально выбран для наглядности.
Однако ваши инструкции применю обязательно. С циклами есть проблема. Мой пример - это лишь только черновик для просмотра что как будет выглядеть в базе. Спасибо еще раз. | |
|
| |