Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2011, 15:15   #1
Нюся
 
Регистрация: 19.01.2011
Сообщений: 4
Вопрос Не работает кнопка "нет"!!!SOS!!!

Имеется вот такой код(офис 2007, формат сохранения под 2002-2003, версия VB 6.5):

Option Compare Database

Private Sub Form_Open(Cancel As Integer)
Dim Response As Integer
Response = MsgBox("Открыть форму?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Открытие формы")
If Response > vbYes Then
Exit Sub
End If
End Sub

Private Sub Form_Close()
Dim msg, title, style
Dim Response As Integer
msg = "Закрыть форму?" ' Define message.
style = vbQuestion + vbYesNo + vbDefaultButton2
title = "Закрытие формы" ' Define title.
Response = MsgBox(msg, style, title) ' Display message.
If Response > vbYes Then
DoCmd.OpenForm "Заказы с функцией MsgBox()"
Exit Sub
End If
End Sub

Помогите найти ошибку? Проблема в не срабатывании кнопки "нет". Не знаю, как сделать так, чтобы она заработала!... Это нужно выполнить при открытии и закрытии формы. Перепробовала разные варианты с условием в операторе if. Надеялась, что сработает DoCmd.OpenForm-была последняя надежда, но и она провалилась...((((
VB постоянно при этом выводит окно для написания макроса, хотя это можно сделать и без него... помогите, плиз!)))))
Нюся вне форума Ответить с цитированием
Старый 19.01.2011, 20:03   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Здравствуйте , попробуйте так

Private Sub Form_Open(Cancel As Integer)
Select Case MsgBox("Открыть форму", 4, "Открытие формы")
Case 6
'действия при открытии "ДА"
Case 7
DoCmd.CancelEvent
DoCmd.Close
End Select
End Sub
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 20.01.2011, 08:03   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Нюся.
R Dmitry предложил код требующий подтверждения Открытия формы, предлагаю его несколько изменить и добавить код подтверждения Закрытия формы, точнее её выгрузки:
Код:
Private Sub Form_Open(Cancel As Integer)
    If MsgBox("Открыть форму", 4, "Открытие формы") = vbNo Then Cancel = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
Const msg$ = "Закрыть форму?", title$ = "Закрытие формы"
    ' vbQuestion + vbYesNo + vbDefaultButton2 = 292
    If MsgBox(msg, 292, title) = vbNo Then Cancel = True
End Sub
для удобочитаемости выкладываемый код обязательно заключайте в тэги [соde]...[/соde], для этого существует кнопка #, на панели инструментов.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если >30 тогда "да" иначе "нет"... DBgrid Daur БД в Delphi 4 30.05.2010 16:54
Не работает кнопка "листания" SPINBUTTON в форме serafim09 Microsoft Office Excel 5 10.03.2010 13:33
Динамическая память или кнопка "Отмена" и "Назад" Ilnour1986 Microsoft Office Excel 2 27.10.2009 04:49
Почему не работает Case txt Like "текст1", "текст2" Oooleg Microsoft Office Excel 2 15.07.2009 10:08
Нет в русском языке "ложит", есть - "кладет". mihali4 Свободное общение 25 01.04.2008 11:19