powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форма для задания периода никак не хочет работать...
27 сообщений из 27, показаны все 2 страниц
Форма для задания периода никак не хочет работать...
    #32337866
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос, выдающий количество готовых договоров по районам за период:
Код: plaintext
1.
2.
3.
4.
SELECT [Контроль договоров].№района, Count([Контроль договоров].№района) AS [Count-№района]
FROM Сотрудники INNER JOIN [Контроль договоров] ON Сотрудники.№сотр = [Контроль договоров].№сотр
WHERE ((([Контроль договоров].[Договор оформлен]) Is Not Null
And ([Контроль договоров].[Договор оформлен]) Between [Forms]![Даты]![НачальнаяДата] And [Forms]![Даты]![КонечнаяДата])
GROUP BY [Контроль договоров].№района;


На его основе создан соот. отчет РайоныДата куда это все выводится + поля, где =[НачальнаяДата] и =[КонечнаяДата]
Свойства:
Открытие
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Private Sub Report_Open(Cancel As Integer)
' Открытие формы "Даты".
' Функция IsLoaded (из модуля  "Служебные функции" ) определяет,
' открыта ли конкретная форма.
    
    Dim strDocName As String

    strDocName = "Даты"
    ' Задание для общей переменной значения True, чтобы
    ' сообщить форме, что для отчета выполняется событие
    '  "Открытие"  (Open).
    blnOpening = True
    
    ' Открытие формы.
    DoCmd.OpenForm strDocName, , , , , acDialog
    
    ' Если форма не загружена, невозможен просмотр или печать отчета.
    ' (Пользователь нажал в форме кнопку "Отмена".)
    If IsLoaded(strDocName) = False Then Cancel = True
    
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False
End Sub


Закрытие
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Report_Close()
' Закрывает форму  "ПоискДата" .

    Dim strDocName As String

    strDocName =  "ПоискДата" 

    DoCmd.Close acForm, strDocName

End Sub


И есть форма Даты, где есть 2 поля в именах которых прописано соот. НачальнаяДата и Конечная дата
по кнопке ОК происходит:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Sub Кнопка5_Click()
On Error GoTo Err_Кнопка5_Click

    Dim strMsg As String, strTitle As String
    Dim intStyle As Integer
    
    ' Если отчет о РайоныДата не был открыт для просмотра или печати,
    ' возникает ошибка. (Переменная blnOpening имеет значение True, только если
    ' для отчета произошло событие Open.)
    If Not Reports![РайоныДата].blnOpening Then Err.Raise 0
    
    ' Скрытие формы.
    Me.Visible = False

Exit_OK_Click:
    Exit Sub

Err_Кнопка5_Click:
    strMsg =  "По ходу дела еще какую-н фигню нужно доработать! Удачи!" 
    intStyle = vbOKOnly
    strTitle =  "ВНИМАНИЕ!!! Подкрался северный пушной зверек!" 

    MsgBox strMsg, intStyle, strTitle
    Resume Exit_Кнопка5_Click

End Sub

На текст Msg не обращайте внимание это для поднятия настроения, - потом уберу!
Модуль "Служебные функции" есть
Подскажите, пожалуйста, что именно здесь неправильно? Что нужно поправить чтобы все заработало? Т.е по запуску отчета выскакивала форма Даты, куда вписываются 2 даты, жмется оки оттбор записей в отчете соот. по заданному периоду.
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337884
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А что именно не работает?
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337885
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в закрытии естественно Даты - не тот кусок кода копирнул...
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337892
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч
Не запускается отчет, где выводятся данные за требуемый период.
Соот. врубается обработчик ошибок и выскакивает меседж
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337893
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я не вижу, где сама команда, которая открывает отчет.
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337906
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот кусок кода из Борея, на основе которого я все делал и там отчет запускается!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Private Sub Report_Open(Cancel As Integer)
' Открытие формы "Продажи по годам".
' Функция IsLoaded (из модуля  "Служебные функции" ) определяет,
' открыта ли конкретная форма.
    
    Dim strDocName As String

    strDocName = "Продажи по годам"
    ' Задание для общей переменной значения True, чтобы
    ' сообщить форме, что для отчета выполняется событие
    '  "Открытие"  (Open).
    blnOpening = True
    
    ' Открытие формы.
    DoCmd.OpenForm strDocName, , , , , acDialog
    
    ' Если форма не загружена, невозможен просмотр или печать отчета.
    ' (Пользователь нажал в форме кнопку "Отмена".)
    If IsLoaded(strDocName) = False Then Cancel = True
    
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening 
= False
End Sub
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337909
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е сначала запускается двойным кликов или из под кнопки отчет, во время его открыти выскакивает форма Даты куда вписываются даты, жмется ОК отчет открывается, а форма с датами закрывается, в Закрытие формы все в порядке т.к в 1 сабджекте я не тот кусок кода поставил
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32337931
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перепроверил кнопки вроде все правильно, но все равно пахать не хочет!
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338034
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для проверки в чем проблема обычно пользуются пошаговым режимом отладки.

а твоя проблема вот в чем:

' Открытие формы.
DoCmd.OpenForm strDocName, , , , , acDialog - после такого открытия данный код прервет выполнение до того пока ты не закроешь диалоговую форму


If IsLoaded(strDocName) = False Then Cancel = True - если код дошел до этого места то форма уже закрыта
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338044
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК

DoCmd.OpenForm strDocName, , , , , acDialog - после такого открытия данный код прервет выполнение до того пока ты не закроешь диалоговую форму
Или невидима!

If IsLoaded(strDocName) = False Then Cancel = True - если код дошел до этого места то форма уже закрыта
Или невидима!
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338051
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что то не догнал...
кнопку на форме поиска я еще не сделал, шут с ней, запускаю отчет из окна базы.
открывается не отчет, а форма Даты, туда вводятся НачальнаяДата и КонечнаяДата в соот. поля, нажимаем кнопку Ок и вуаля - отчет открылся в нужном периоде. В Борее работает именно так.
Я скопировал код из Борея один к одном, поменял названия в коде везде вроде бы и в отчете и в форме...
Дык, почему в Борее то работает?
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338054
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч давным давно писал:Я не вижу, где сама команда, которая открывает отчет.
Вот и я не вижу.
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338059
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoCmd.OpenForm strDocName, , , , , acDialog - после такого открытия данный код прервет выполнение до того пока ты не закроешь диалоговую форму !!!!
<здесь код остановился и продолжится после закрытия диалога>

If IsLoaded(strDocName) = False Then Cancel = True - если код дошел до этого места то форма уже закрыта

форма на этот момент именно закрыта потамушта она ДИАЛОГ а ДИАЛОГ -МОДАЛНЬНЫЙ и НЕАСИНХРОННЫЙ так же как MSGBOX "" пока его не закроешь - код останавливается..

или я что то не так понимаю ????
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338066
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да у него отчет окрывается вручную, после загрузки запускается форма параметров, после выгрузки формы отчетпроверяет что форма закрыта и выгружается
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338075
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вернее должен выгружаться (как в Борее), но фиг выгружается...
щелкаю по отчету, а открываться должна форма! Она и открывается, вношу даты, а этот гад запускает дальше не отчет с закрытием формы, а обработчик ошибок! Для примера зайдите в Борей Продажи по годам форма запускается при запуске отчета...
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338080
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейК писал:или я что то не так понимаю ????
Именно так. То есть не так. То есть понимаешь ты не так. Ну ты меня понимаешь.
Я красным цветом в своем посте выделил то, что ты недо понимаешь

У Римбомбо в форме "Даты" стоит именно
Код: plaintext
1.
    ' Скрытие формы.
    Me.Visible = False

после которого код пойдет дальше.
Или как ты себе это представляешь? Модальную форму похайдили - и все?
Код дальше не идет патамушта модальная форма открыта, а закрыть ее руками не получится патамушта ее невозможно увидеть глазами?
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338081
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот кстати, модуль Служебные функции из Борея, поставил его себе:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function IsLoaded(ByVal strFormName As String) As Boolean
 ' Возвращает значения True, если форма открыта в режиме формы или таблицы.
    
    Const conObjStateClosed =  0 
    Const conDesignView =  0 
    
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            IsLoaded = True
        End If
    End If
    
End Function
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338088
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ЛП
В свете твоего/вашего (можно на ты?) последнего ответа вопрос: какой кусок кода и куда поставить, чтобы он не переходил к обработчику ошибок, а работал...?
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338103
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Rimbombo
Так ты пальцем ткни в строку, с которой он в обработчик ошибок сваливается.
А то это... я хоть из отпуска и вышел, но телепяты еще в отпуске.
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338109
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, я понял. Это видимо строка
Код: plaintext
    If Not Reports![РайоныДата].blnOpening Then Err.Raise  0 

А зачем она нужна???
В отчете на посреди события Open открываешь модальную форму, которая закрывается (хайдится) только по нажатию Кнопки5, а при нажатии кнопки5 проверяешь, доработало ли до конца событие Open у отчета? Да разумеется не доработало, у тебя ж эта же форма его и тормозит!
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338125
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ЛП
А ведь заработало!!! Странно, на кой эта строка была в Борее? Ну да это фиг с ним.
Изв. за подгрузку! Я ведь в этом отчете добавил 2 поля где написал =[НачальнаяДата] и =[КонечнаяДата]
дык, перед открытием отчета он меня просит эти даты еще раз ввести! Как сделать, чтобы он их прямо из формы Даты брал? Я же их туда ввел, а дважды даты вводить это же извращение!
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338134
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты эти контролы сделай свободными, а значения в них пихай после на том же самом событии Open. Бери их, соответственно, из формы "Даты".
Что-нить типа такого:
Код: plaintext
1.
2.
3.
4.
5.
If IsLoaded(strDocName) = False Then 
    Cancel = True
Else
    Me![НачальнаяДата].value = Forms![Даты]![НачальнаяДата]
    Me![КонечнаяДата].value = Forms![Даты]![КонечнаяДата]
End If
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338171
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил так. Без Else - ругается на него потому как:

If IsLoaded(strDocName) = False Then Cancel = True

Me![НачальнаяДата].Value = Forms![Даты]![НачальнаяДата]
Me![КонечнаяДата].Value = Forms![Даты]![КонечнаяДата]
' Задание для общей (public) переменной значения False,
' указывающее, что событие "Открытие" (Open) завершено.
blnOpening = False

Добавил в отчет 2 свободных поля вписал в имя НачальнаяДата и соот. КонечнаяДата не схавал, написал =НачальнаяДата и соот. =КонечнаяДата тоже не схавал, написал =[НачальнаяДата] и соот. =[КонечнаяДата] и этим не доволен. Пишет, что не удается найти поле Начальная дата в указанном выражении... Может быть я не туда вписываю?
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338223
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If IsLoaded(strDocName) = False Then Cancel = True
    
    
    Me![НачальнаяДата].Value = Forms![Даты]![НачальнаяДата]
    Me![КонечнаяДата].Value = Forms![Даты]![КонечнаяДата]
    
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False

В контролах в имени написал соот. НачальнаяДата и КонечнаяДата
Пишет невозможно присвоить значение объекту!
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338239
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это тоже не хавает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If IsLoaded(strDocName) = False Then Cancel = True
    
    
    Reports![РайоныДата]![НачальнаяДата].Value = Forms![Даты]![НачальнаяДата]
    Reports![РайоныДата]![КонечнаяДата].Value = Forms![Даты]![КонечнаяДата]
    
    ' Задание для общей (public) переменной значения False,
    ' указывающее, что событие  "Открытие"  (Open) завершено.
    blnOpening = False
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338341
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну слушай мальчик я за тебя программу буду писать или советы давать да? Мои советы дорого стоять да?
...
Рейтинг: 0 / 0
Форма для задания периода никак не хочет работать...
    #32338347
Rimbombo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ЛП
кому мальчик, а кому и Евгений Николаевич...
а за помощь спасибо.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форма для задания периода никак не хочет работать...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]