powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать сообщение???
25 сообщений из 31, страница 1 из 2
Как сделать сообщение???
    #32194510
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в базе данных (AccessXP) есть функция 'добавлять заявки' (которые хранятся в таблице Zayavki), где проставляется дата подачи заявки. Так вот по истечении десяти дней, должно вылазить сообщение о том, что пора отправлять заявки, нажимаем OK и должен вылазить список этих заявок, или специальная форма с этими заявками. Как сделать это сообщение и где? И как сделать чтобы вылазила эта форма?
Помогите, пожалуйста
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32194519
nana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну давай давай учиьс девочка а то без ступухи останишся
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32194954
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как сделать сообщение. Все остальное я сделала уже.... ПЛИЗЗЗ
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32194984
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаешь в модуле ф-ию где просматриваешь есть ли искомые заявки, создаёшь макрос где запускаешь енту ф-ию и обзываешь её autoexec'ом и будет она исполнять при каждом запуске БД.
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32194993
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это надо делать при открытии БД, то на открытие (загрузку) главной формы положи процедуру, которая будет проверять есть ли заявки на текущую дату (zDate)

Sub FormGlav_Open()
Dim rst As DAO.Recordset
Set rst = CurrentDB.OpenRecordset("Select * From Zayavki Where zDate = Date()")
If rst.RecordCount > 0 Then
If MsgBox("пора отправлять заявки", vbYesNo) = vbYes Then
Docmd.OpenForm "Zayavki", acNormal,, "zDate = Date()"
End If
End If
End Sub
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195004
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, ежли последний штрих, то почему не помочь? :)

>И как сделать чтобы вылазила эта форма?
Один из вариантов - поставить проверку на истечение десятидневного срока в момент запуска БД:
1. В форме, которая открывается по автозапуску поставь команду открытия другой формы, которая будет
просматривать, есть ли заявки, с истекшими 10 днями. Открыть ее можно строкой кода:
Код: plaintext
DoCmd.OpenForm  "ИмяФормы" 

2. В данной форме в качестве источника записей должен быть указан запрос, который возвращает записи, с вышедшим сроком. В условии запроса должно быть что-нибудь типа: WHERE ((ДатаЗаявки)=<(Date()-10))
3. На событие Open данной формы вешаешь примерно следующее:
Код: plaintext
1.
2.
If Me.RecordsetClone.RecordCount =  0  Then Cancel = True
'...Действия, необходимые в случае если заявки есть...'

То есть, если запрос не вернул ни одной записи (заявок с вышедшим сроком нет), то отменяем открытие формы.
4. Надо придумать некий флаг в таблице, который будет хранить информацию о том, была ли уже данная заявка отправлена или нет. Соответственно, в WHERE запроса должно добавиться условие, возвращающее только неотправленные записи.
5. Если запрос вернул в форму записи, то наша форма остается открытой и в ней можно организовать то, что ты хочешь - надпись с кнопкой или сразу отображение заявок.

Тока это... Вы, девушка с голубыми глазками, не высылайте плз. ничего... Лана?
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195009
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда нажимал "Ответить" - витала еще небыло :) сорри...
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195036
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Нуф-Нуф
Когда нажимал "Ответить" - витала еще небыло
Господи! Как же долго ты жал "ответить", если меня еще не было!!???
Должон признать, что ответ мой более поверхностный и я бы рекомендовал использовать твое решение (ничего, что на ТЫ?).
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195341
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Господи! Как же долго ты жал "ответить", если меня еще не было!!???
Гы :)
>...что ответ мой более поверхностный...
..зато более конкретный :)
>(ничего, что на ТЫ?).
Да не, ничё... :) Ты это, звини, что В итал прошлый раз с маленькой буквы получилось... случайно это...
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195354
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой! Большое спасибо! Попробую! Потом расскажу, как получилось!
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195362
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем обещаю, ничего не высылать! Буду сама делать, просто не знала с чего начать (вернее, чем закончить, т.к. это последний момент, который надо доделать)
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195375
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты это, звини, что Витал прошлый раз с маленькой буквы получилось
"Да, хоть горшком назови, только в печь не ставь!"
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195659
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так! С модулями, функциями у меня ничего не получилось. Надо вот что, чтобы при запуске базы, просто каждые десять дней вылазило сообщение "Пора отправлять заявки!" Вот как это сделать? Просто стабильно должно вылазить сообщение каждые десять дней!
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195664
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри мой предыдущий месадж.

Только сделай табличку где будешь хранить дату последнего оповещения.
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195720
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гала... Ну шо эт такое? Сначала одно, потом второе...
На счет второго:
если дела обстоят так, то на мой взгляд можно сделать либо как предложил Сфагнум (создать табличку, где будет храниться последний день выдачи сообщения), либо при каждом запуске проверять текущую дату на кратность десяти дням. Т.е. можно выдавать сообщения только 2-го, 12-го, 22-го числа. Почему, например, не 1, 11, 21, 31, 1...? Или 10, 20, 30 (а как же февраль?)? Ну, думаю, сама поймешь, почему лучше 2, 12, 22, 2, 12, 22...
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195749
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, Нуф-Нуф, если сделать проверку кратности, то будет беда. Например если выдавать сообщения 2-го, 12-го и т.д., то если юзер не будет включать комп по этим числам, то и сообщения он вообще никогда не увидит. Так что лучше хранить последнюю дату в табличке и сравнивать с текущей.
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195754
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так! С модулями, функциями у меня ничего не получилось.

Что именно не получилось? Если в таблице заявок нет даты подачи, тогда точно ничего не получиться. Если есть, тогда второе - подключена ли библиотека DAO? В модуле формы меню: Tools - References установить галочку против этой библиотеки.

Если надо просто каждые 10 дней выдавать окно - см. предложение Sfagnum
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195761
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, Лох, созласен... Хотя может и прокатить, ежли диплом сдавать 2, 12 или 22-го числа
Тока чую, что придется НАМ эту табличку создавать, писать код под нее и делать формы... :)
//чё та не в дело настроение слишком хорошее :)
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195912
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделала такой модуль, по той проге, что написал Витал и прописала ее в макросе Autoexec, так он мне при открытии моей базы берет и открывает этот модуль, а вернее VBA, где он описан...
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195917
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще как в табличку будут заносится данные последнего оповещения?
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195964
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты в макросе в RunCode - функцию запихала??? если нет запихай туда, а то что открывает модуль сотри нахр......
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32195976
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да какой нафик автоэкзек? Сфагнум? Человек мучается над дипломной работой, а ты ей автоэкзек!
Гала, слухай, я понимаю, что постоянно говорю одни глупости, но сейчас не пульзуй ты этот автоэкзек! У тебя ведь есть автоматически открываемая форма в момент запуска проекта? Ну и ладушки... Вот в этой форме на событие Form_Load поставь вызов Виталовской функции и никаких модулей не вылезет! (если конечно ошибок в них нет:)
А заполнять как? Так ты сделай что-то типа Виталовской функции, которая будет тебе возвращать дату последнего сообщения (по идее, у тебя уже должна быть такая), так вот несколько доработав эту функцию можно после выдачи сообщения (если 10 дней прошли) записывать туда текущее число... И вообще, выложи сюда код, чтобы люди помочь смогли... Код, думаю, тебе доработают (другие собеседники)... //оглядывая соседние топики офигевает, насколько люди жадны до готовых решений на блюдечке... наверно и сам такой.
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32196030
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополняя (поясняя, комментируя комментарии и примечая примечания) Нуф-Нуфа

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub FormGlav_Open() 
Dim rst As DAO.Recordset 
Set rst = CurrentDB.OpenRecordset( "Select * From Zayavki Where zDate <= Date()" ) 
If rst.RecordCount >  0  Then 
If MsgBox( "пора отправлять заявки" , vbYesNo) = vbYes Then 
CurrentDB.Execute  "UPDATE Zayavki  SET zDate = Date()" 
Docmd.OpenForm  "Zayavki" , acNormal
End If 
End If 
End Sub


А прописать можно так. Открываем главную форму в режиме конструктора. Открываем Свойства. Вкладку События. В поле "Открытие формы" выбираем [процедура обработки события] и щелкаем кнопку построителя рядышком. В модуле формы запихиваем эту процедуру. Меняем в ней мои имена полей на свои (напр. zDate). На всякий случай убеждаемся, что библиотека DAO подключена (см. пост выше).
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32196035
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой пардон!!!
Надо же через 10 дней -
Код: plaintext
Set rst = CurrentDB.OpenRecordset( "Select * From Zayavki Where zDate <= Date()-10 ") 
...
Рейтинг: 0 / 0
Как сделать сообщение???
    #32196040
Gala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Буду пытаться!
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать сообщение???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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