| |
 6 Кб. |
|
| | Прошу помочь?!
Существует таблица с полем Дата (для меня не критично ключевое оно или нет). На основе таблицы и данного поля создана простая форма, открывающаяся на первой из существующих записей. В форме разместил стандартный календарь (ActiveX). Пытаюсь заставить форму: 1) Открываться для всех записей, но на записи соответствующей текущей системной дате; 2) При выборе любой иной даты в календаре, чтоб форма "перелисталась" на запись с соответствующей датой.
И еще, возможно ли - таблицу предварительно можно наполнить датами на несколько лет вперед, но считаю это плохим решением, но... если таблица пустая, то как форма откроется на запись = текущей системной дате, если такой записи еще нет?!
Помогите пожайлуста!!! | |
| |
| |
| |
|
|
| | 1. да поможет вам bookmark
2. а что вам мешает преварительно заполнить таблицу на несколько лет вперед? | |
| |
| |
| |
|
|
| | с первым пунктом щас буду знакомиться, а вот по второму считаю это очень простым "детским" решением, при котором теряется универсальность. Один из вариантов это открытие формы на новой записи, а значение по умолчанию = текущей дате?! | |
| |
| |
| |
|
|
| | >>простым "детским" решением, при котором теряется универсальность
порой простое детское решение и есть самым универсальным.
>>а значение по умолчанию = текущей дате?!
ну, если вам так нужно, то да | |
| |
| |
| |
|
|
| | сейчас буквально попробовал и получилось, на событие Загрузка поставил DoCmd.GoToRecord , , acNewRec, а значение по умолчанию =Date() - просто когда в таблица начата пару лет назад и форма открывается на первой записи, то приходится вручную листать в конец, много лишних движений. Но здесь ладно еще, а вот главное никак не получается - это задействовать календарь, чтоб нажав в нем на любую дату форма тут же переходила на соответствующую запись??? | |
| |
| |
| |
|
|
| |
Private Sub Calendar_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[DateItem] = " & Format$(Me![Calendar], "\#mm\/dd\/yyyy\#")
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
|
Слегка измененный вариант поиска записи на ленточной форме, предлагаемый мастером добавления ComboBox.
Только штатный календарь у меня не отрабатывает событие Calendar8_Updated.  | |
| |
| |
| |
|
|
| | >>
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
| чёто я... забыл.... а не
If Not rs.nomatch Then Me.Bookmark = rs.Bookmark
|
?
или нема такого?  | |
| |
| |
| |
|
|
| | Спасибо за содействие!
Попробую реализовать, надеюсь все получится! очитаюсь! | |
| |
| |
| |
|
|
| | Пробовал пробовал, но толку мало.
Мозги кипят - результата нет.
По вашему варианту не получается, что то не то и не так наверное делаю!
Визуально добился поиска записи в форме по выбранной в календаре дате, но только так работает:
Private Sub data_GotFocus()
DoCmd.FindRecord [ЭлементActiveX1], , True, , True
End Sub
Приходится тыкать в календарь, потом еще в поле чтоб поиск сработал! Может подскажете более изящное решение? плиз! | |
| |
| |
| |
|
|
| | Calendar_AfterUpdate()
а не Got_focus | |
| |
| |
| |
|
|
| | Если бы!
у него даже нет акого события, есть только При обновлении "_Updated", но на нем не работает  | |
| |
| |
| |
|
|
| | странно... а точку останова если там поставить? когда срабатывает?
может всетаки есть? или куда он дату вписывает? может вотдельный текстбокс? тогда там проверять.... както-так  | |
| |
| |
| |
 59 Кб. |
|
| | Ложь и клевета.
Мой код 100% рабочий.
Подтверждение:
Событие AfterUpdate нужно выбрать в редакторе кода.
А может в 97 действительно нет?  | |
| |
| |
| |
|
|
| | Спасибо за настойчивость!
но... 97 действительно отличается
Дорабатывая свою идею получилось все что хотел, а именно:
Private Sub ЭлементActiveX1_Click() 'обявляем название события для календаря "клик мышкой"
formdata.SetFocus ' переводим фокус с календаря в нужное поле формы
DoCmd.FindRecord [ЭлементActiveX1], , True, , True ' ищем в поле значение, равное значению календаря, соотвественно "перелистывая" форму на нужное значение
End Sub
' как это работает, я так и непонял, т.к. не программист, но работает правильно!
Всем спасибо! надеюсь и сам кому нибудь помог!  | |
| |
| |