Страница: 1 |
Страница: 1 |
Вопрос: Вывести сообщение по нажатию кнопки
Добавлено: 10.06.08 09:14
Автор вопроса: denis84
Подскажите пожалуйста, как вывести сообщение по нажатию кнопки.
В данный момент при нажатии на кнопку первый раз выходит отчет, который потом печатают. Необходимо сделать так, чтобы при нажатии на эту же кнопку 2 раз, выводилось предупреждение "Заявка уже печаталась", но отчет все-равно выводился для просмотра.
Имеющийся код:
Private Sub Кнопка47_Click()
If Me![Проверено] And Me![Сумма взаимозачета] > 0 Then
DoCmd.OpenReport "Заявка пред глНДС2", acViewPreview
DoCmd.OpenReport "Заявка пред глНДС1", acViewPreview
ElseIf Me![Проверено] And Me![Сумма взаимозачета] = 0 Then
DoCmd.OpenReport "Заявка пред гл", acViewPreview
Else
MsgBox ("Для печати Вашей заявки необходимо разрешение бухгалтера")
End If
End Sub
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #1
Добавлено: 10.06.08 09:26
Private Sub Кнопка47_DblClick()
не работает?
Номер ответа: 2
Автор ответа:
denis84
Вопросов: 4
Ответов: 13
Профиль | | #2
Добавлено: 10.06.08 09:46
Не работает. Выводит ошибку "Run-time error "400306". Method 'Item' of object 'Forms' failed".
И ссылается на код:
Private Sub Form_Current()
If Forms![Заявка на оплату гл ф]![Проверено] = False Then
Me.AllowEdits = True
ElseIf Forms![Заявка на оплату гл ф]![Проверено] = True Then
Me.AllowEdits = False
End If
End Sub
Номер ответа: 3
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #3
Добавлено: 10.06.08 09:47
Private Sub Кнопка47_Click()
dim № as bollean
if № = true then MsgBox ("Заявка уже печаталась"
If Me![Проверено] And Me![Сумма взаимозачета] > 0 Then
 oCmd.OpenReport "Заявка пред глНДС2", acViewPreview
 oCmd.OpenReport "Заявка пред глНДС1", acViewPreview
ElseIf Me![Проверено] And Me![Сумма взаимозачета] = 0 Then
DoCmd.OpenReport "Заявка пред гл", acViewPreview
Else
MsgBox ("Для печати Вашей заявки необходимо разрешение бухгалтера"
End If
№ = true
End Sub
В Form load поставь № = false
Номер ответа: 4
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #4
Добавлено: 10.06.08 09:59
Сори, непонял вопроса, решил, что речь о даблклик.
Номер ответа: 5
Автор ответа:
denis84
Вопросов: 4
Ответов: 13
Профиль | | #5
Добавлено: 10.06.08 10:20
ОК, работает!
При нажатии на кнопку первый раз выходит отчет,при нажатии на эту же кнопку 2 раз предупреждение "Заявка уже печаталась" выходит. Но когда форму закрываешь и пробуешь снова напечатать отчет, он сообщение не выводит. А как сделать чтобы после повторного открытия формы (с которой печатается отчет), и печати того же отчета данная процедура не повторялась, а сразу выводилось предупреждение?
Номер ответа: 6
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #6
Добавлено: 10.06.08 10:28
Если только форму закрываешь, а не программу тогда объяви вот эту строчку в модуле как
global № as bollean
Если программу то нужно ставить ключь в реестре или в каком нибудь файле.
Номер ответа: 7
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #7
Добавлено: 10.06.08 10:32
Да еще из Form load № = false вычеркни.
Номер ответа: 8
Автор ответа:
denis84
Вопросов: 4
Ответов: 13
Профиль | | #8
Добавлено: 10.06.08 10:50
Объявил как:
Dim global f As Boolean
выводится ошибка:
Compile error:
Expected: identifier.
А как ставить ключ в реестре или файле?
Номер ответа: 9
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #9
Добавлено: 10.06.08 10:58
Dim global f As Boolean
С каких делов я же писал global № as bollean и не забудь в модулеееееееееее.
насчет А как ставить ключ в реестре или файле? поищи в примерах тема сильно избвитая.
Номер ответа: 10
Автор ответа:
denis84
Вопросов: 4
Ответов: 13
Профиль | | #10
Добавлено: 10.06.08 12:00
Подскажите как найти тему по данному вопросу как ставить ключ в реестре или файле? Спасибо!
Номер ответа: 11
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #11
Добавлено: 10.06.08 12:22
Почитай тут:
http://www.compdoc.ru/prog/basic/vbreg/
Номер ответа: 12
Автор ответа:
denis84
Вопросов: 4
Ответов: 13
Профиль | | #12
Добавлено: 10.06.08 14:32
Как написать условие:
Если кнопка47 нажата, то присваиваем полю Me![Print] = -1?
Помогите, пожалуйста!!!
Номер ответа: 13
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #13
Добавлено: 10.06.08 15:27
а написать это в событии Кнопка47_Click() ?
Номер ответа: 14
Автор ответа:
denis84
Вопросов: 4
Ответов: 13
Профиль | | #14
Добавлено: 10.06.08 15:34
не знаю как написать саму процедуру нажатия кнопки...
Private Sub Кнопка47_Click()
'If [Кнопка47] = Activate Then
'Me![Print] = -1
If Me![Print] = -1 Then
MsgBox ("Данная заявка уже печаталась!!!"
Else
Me![Print] = 0
End If
If Me![Проверено] And Me![Сумма взаимозачета] > 0 Then
 oCmd.OpenReport "Заявка пред глНДС2", acViewPreview
 oCmd.OpenReport "Заявка пред глНДС1", acViewPreview
ElseIf Me![Проверено] And Me![Сумма взаимозачета] = 0 Then
DoCmd.OpenReport "Заявка пред гл", acViewPreview
Else
MsgBox ("Для печати Вашей заявки необходимо разрешение бухгалтера"
End If
End Sub
Номер ответа: 15
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #15
Добавлено: 10.06.08 16:33
Вообще не понимаю.. Событие Кнопка47_Click() вызывается само, когда нажимаешь на кнопку47. Разве нельзя в этой роцедуре написать просто "Me![Print] = -1"