LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Связь пол...
 RE: Связь поля со списком и календаря
 
 15.06.2007 21:03:21
All
4316 сообщения
1-ый


RE: Связь поля со списком и календаря
Тимур! Я Вам очень признателен!

Всего - то.... А я более недели не мог это сделать. А теперь все ОК.
Храни Вас Господь.



P.S. Объект календарь
Автор: Федор от 0:00:00 Источник ...
 15.06.2007 21:03:21
All
4316 сообщения
1-ый


RE: Связь поля со списком и календаря
«Еще о календаре как поле со списком»
Как в форме отчетов ввести условие отбора периода (Дата нач. – Дата конечная)

У меня есть форма, на которую выведены отчеты.
Допустим в одном из отчетов я выбираю, в поле со списком, мастера по которому я желаю просмотреть отчет, но в поле запроса, на котором построен отчет есть еще условие отбора выбранного периода:
Between [Введите начальную дату:] And [Введите конечную дату:]
Поэтому далее у меня появится сообщение требующее ввести начальную дату, а затем конечную дату периода за который я желаю посмотреть отчет.
Вопрос: Как удовлетворить эти условия отбора периода на форме.
Т.е. чтобы я выбрал мастера, начальную и конечные даты на форме отчета и открыл отчет.
Или как в окно где появляется сообщение о вводе дат, это был бы лучший вариант, при открытии отчета, поместить календарь как поле со списком, чтобы не вручную задавать эти даты?




P.S. Объект календарь
Автор: Федор от 0:00:00 Источник ...
 15.06.2007 21:03:21
ТимурРахимов
16 сообщения


RE: Связь поля со списком и календаря
Одним из простейших решений задачи подобного рода было бы следующее:

Вместо применения в запросе-источнике данных для отчёта, параметров, используем для передачи отчёту условия отбора метод DoCmd.OpenReport с указанием в его 4-м параметре (WhereString) этого критерия отбора.

Предположим, что в запросе есть поле [Дата], по которому и будем производить отбор записей. Важно отметить, что в нижеприведённом пример предполагается, что выполнение запроса производится самим Access (точнее, ядром базы данных Jet), а не, например, MS SQL Server. В последнем случае, синтаксис запроса и форматирование дат для приведения их к национально-независимому формату должны быть другими, да и вообще, возможно, имело бы смысл прибегнуть к другой технике задания набора записей для отчёта.

Итак:

1)Вставим в форму два объекта MSComCtl2.DTPicker.2, назвав их, например, От и До.

2)Вставим в форму кнопку ОткрытьОтчёт.

3)Добавим процедуру обработки события Click следующего вида:

Private Sub ОткрытьОтчет_Click()

DoCmd.OpenReport "Имя_отчета", acPreview, , "[Дата] between #" & Format([От], "mm\/dd\/yyyy") & "# and #" & Format([До], "mm\/dd\/yyyy") & "#"

End Sub

То, что может в спецификациях формата здесь выглядеть (в зависимости от шрифта) как большие буквы V, на самом деле является комбинацией "обратного" и "прямого" "слэша" (наклонной черты).


Теперь с помощью выпадающих календарей полей типа MSComCtl2.DTPicker устанавливаем граничные даты (пока форма не закрыта, они будут сохранять свои значения), и затем нажимаем кнопку для открытия отчёта, в котором будет показываться только часть записей, соответствующая ранее указанным датам.



P.S. Объект календарь
Автор: Тимур Рахимов от 15.01.2004 23:01:00 Источник ...
 15.06.2007 21:03:21
All
4316 сообщения
1-ый


RE: Связь поля со списком и календаря
Тимур, Вы очень четко понимаете мои вопросы и доходчиво излагаете вопрос моей проблемы.
Я бесконечно благодарен, все теперь у меня прекрасно получается.
Если можно, то еще одна проблема по датам календаря:
ВОПРОС: Как именуемые у Вас даты в поле календаря "От" и "До" можно поместить в отчет.

Храни Вас Господь.







P.S. Объект календарь
Автор: Федор от 0:00:00 Источник ...
 15.06.2007 21:03:21
ТимурРахимов
16 сообщения


RE: Связь поля со списком и календаря

Например, возможно такое решение:

Вставляем в обработчик события Format той секции отчёта, где мы хотим показать даты [От] и [До] (обычно это заголовок) такой код:

Private Sub ЗаголовокОтчета_Format(Cancel As Integer, FormatCount As Integer)

НадписьОт.Caption = Forms![Запускающая форма]![От]
НадписьДо.Caption = Forms![Запускающая форма]![До]

End Sub

Здесь НадписьОт и НадписьДо в левой части оператора присваивания - имена объектов типа "Надпись" (Label), которые вам нужно добавить в отчёт для отображения соответствующих параметров.

Следует также отметить, что объекты MSComCtl2.DTPicker.2 здесь ничем не отличаются в использовании от обычных полей в форме, и к ним применена в точности та же техника, какая применяется обычно для отображения в отчёте значений полей в форме.



P.S. Объект календарь
Автор: Тимур Рахимов от 18.01.2004 15:54:10 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Связь пол...
ПоискПоиск  Список форумовСписок форумов  
right