Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать сообщение??? / 25 сообщений из 31, страница 1 из 2
29.06.2003, 16:39
    #32194510
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
У меня в базе данных (AccessXP) есть функция 'добавлять заявки' (которые хранятся в таблице Zayavki), где проставляется дата подачи заявки. Так вот по истечении десяти дней, должно вылазить сообщение о том, что пора отправлять заявки, нажимаем OK и должен вылазить список этих заявок, или специальная форма с этими заявками. Как сделать это сообщение и где? И как сделать чтобы вылазила эта форма?
Помогите, пожалуйста
...
Рейтинг: 0 / 0
29.06.2003, 17:03
    #32194519
nana
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
ну давай давай учиьс девочка а то без ступухи останишся
...
Рейтинг: 0 / 0
30.06.2003, 13:17
    #32194954
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Подскажите как сделать сообщение. Все остальное я сделала уже.... ПЛИЗЗЗ
...
Рейтинг: 0 / 0
30.06.2003, 13:34
    #32194984
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Делаешь в модуле ф-ию где просматриваешь есть ли искомые заявки, создаёшь макрос где запускаешь енту ф-ию и обзываешь её autoexec'ом и будет она исполнять при каждом запуске БД.
...
Рейтинг: 0 / 0
30.06.2003, 13:40
    #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
30.06.2003, 13:47
    #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
30.06.2003, 13:49
    #32195009
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Когда нажимал "Ответить" - витала еще небыло :) сорри...
...
Рейтинг: 0 / 0
30.06.2003, 14:05
    #32195036
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
>Нуф-Нуф
Когда нажимал "Ответить" - витала еще небыло
Господи! Как же долго ты жал "ответить", если меня еще не было!!???
Должон признать, что ответ мой более поверхностный и я бы рекомендовал использовать твое решение (ничего, что на ТЫ?).
...
Рейтинг: 0 / 0
30.06.2003, 16:40
    #32195341
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
>Господи! Как же долго ты жал "ответить", если меня еще не было!!???
Гы :)
>...что ответ мой более поверхностный...
..зато более конкретный :)
>(ничего, что на ТЫ?).
Да не, ничё... :) Ты это, звини, что В итал прошлый раз с маленькой буквы получилось... случайно это...
...
Рейтинг: 0 / 0
30.06.2003, 16:53
    #32195354
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Ой! Большое спасибо! Попробую! Потом расскажу, как получилось!
...
Рейтинг: 0 / 0
30.06.2003, 16:59
    #32195362
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Всем обещаю, ничего не высылать! Буду сама делать, просто не знала с чего начать (вернее, чем закончить, т.к. это последний момент, который надо доделать)
...
Рейтинг: 0 / 0
30.06.2003, 17:11
    #32195375
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Ты это, звини, что Витал прошлый раз с маленькой буквы получилось
"Да, хоть горшком назови, только в печь не ставь!"
...
Рейтинг: 0 / 0
01.07.2003, 09:00
    #32195659
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Так! С модулями, функциями у меня ничего не получилось. Надо вот что, чтобы при запуске базы, просто каждые десять дней вылазило сообщение "Пора отправлять заявки!" Вот как это сделать? Просто стабильно должно вылазить сообщение каждые десять дней!
...
Рейтинг: 0 / 0
01.07.2003, 09:14
    #32195664
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Посмотри мой предыдущий месадж.

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

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

Если надо просто каждые 10 дней выдавать окно - см. предложение Sfagnum
...
Рейтинг: 0 / 0
01.07.2003, 10:35
    #32195761
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Да, Лох, созласен... Хотя может и прокатить, ежли диплом сдавать 2, 12 или 22-го числа
Тока чую, что придется НАМ эту табличку создавать, писать код под нее и делать формы... :)
//чё та не в дело настроение слишком хорошее :)
...
Рейтинг: 0 / 0
01.07.2003, 12:13
    #32195912
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Я сделала такой модуль, по той проге, что написал Витал и прописала ее в макросе Autoexec, так он мне при открытии моей базы берет и открывает этот модуль, а вернее VBA, где он описан...
...
Рейтинг: 0 / 0
01.07.2003, 12:14
    #32195917
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
И еще как в табличку будут заносится данные последнего оповещения?
...
Рейтинг: 0 / 0
01.07.2003, 12:37
    #32195964
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Ты в макросе в RunCode - функцию запихала??? если нет запихай туда, а то что открывает модуль сотри нахр......
...
Рейтинг: 0 / 0
01.07.2003, 12:43
    #32195976
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Да какой нафик автоэкзек? Сфагнум? Человек мучается над дипломной работой, а ты ей автоэкзек!
Гала, слухай, я понимаю, что постоянно говорю одни глупости, но сейчас не пульзуй ты этот автоэкзек! У тебя ведь есть автоматически открываемая форма в момент запуска проекта? Ну и ладушки... Вот в этой форме на событие Form_Load поставь вызов Виталовской функции и никаких модулей не вылезет! (если конечно ошибок в них нет:)
А заполнять как? Так ты сделай что-то типа Виталовской функции, которая будет тебе возвращать дату последнего сообщения (по идее, у тебя уже должна быть такая), так вот несколько доработав эту функцию можно после выдачи сообщения (если 10 дней прошли) записывать туда текущее число... И вообще, выложи сюда код, чтобы люди помочь смогли... Код, думаю, тебе доработают (другие собеседники)... //оглядывая соседние топики офигевает, насколько люди жадны до готовых решений на блюдечке... наверно и сам такой.
...
Рейтинг: 0 / 0
01.07.2003, 13:06
    #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
01.07.2003, 13:09
    #32196035
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Большой пардон!!!
Надо же через 10 дней -
Код: plaintext
Set rst = CurrentDB.OpenRecordset( "Select * From Zayavki Where zDate <= Date()-10 ") 
...
Рейтинг: 0 / 0
01.07.2003, 13:11
    #32196040
Gala
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сообщение???
Спасибо! Буду пытаться!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать сообщение??? / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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