2013-07-08 3 views
1

У меня есть код VBA, который запрашивает пользователя, если он хочет сохранить запись, прежде чем закрыть форму в MS Access. Это то, что код выглядит следующим образом: «Скопировать запись в поддержки Таблица Анализ &»Код VBA, чтобы предложить пользователю сделать выбор

Private Sub Form_BeforeUpdate(Cancel As Integer) 


    Dim ctl As Control 

    On Error GoTo Err_BeforeUpdate 


    If Me.Dirty Then 

     If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _ 
       "Save Record") = vbNo Then 
     Me.Undo 
     End If 
    End If 

Exit_BeforeUpdate: 
    Exit Sub 

Err_BeforeUpdate: 
    MsgBox Err.Number & " " & Err.Description 
    Resume Exit_BeforeUpdate 
End Sub 

Я также хотел бы добавить еще одно окно с сообщением сразу после того, выше, который запрашивает у пользователя, если они хотят. Если да, то я хочу, чтобы код запускал сохраненный запрос под названием «Insert_Query». Если нет, перейдите к новой записи.

У меня очень мало опыта, когда дело доходит до кодирования VBA, отсюда и необходимость помощи.

Может ли кто-нибудь помочь?

ответ

2

Если вы хотите, чтобы сообщение появится только, если они говорят да, чтобы сохранить запись, то

If MsgBox("Do you want to save?", vbYesNo + vbQuestion, "Save Record") = vbNo Then 
    Me.Undo 
Else 
    If MsgBox("Copy the record to the Analysis & Support Table?", vbYesNo + vbQuestion, "Copy Record") = vbYes Then 
     CurrentDb.Execute("Insert_Query") 
    Else 
     'go to new record 
    end if 
End If 

Если вы хотите, чтобы сообщение появляется независимо от выбора первого окна сообщения, то

If MsgBox("Do you want to save?", vbYesNo + vbQuestion, "Save Record") = vbNo Then 
    Me.Undo 
End If 
If MsgBox("Copy the record to the Analysis & Support Table?", vbYesNo + vbQuestion, "Copy Record") = vbYes Then 
    CurrentDb.Execute("Insert_Query") 
Else 
    'go to new record 
end if 
+0

Спасибо за нарушение 2. Для меня на самом деле было больше смысла выбирать первый вариант. Я запустил его ... и все работает. Но, похоже, я спрашиваю, хочу ли я дважды экономить? любая идея, как это исправить? – JT2013

+0

'MsgBox' с' 'Вы хотите сохранить? '' Появляется дважды? или 2 разных 'MsgBox', потому что последний предназначен. – ashareef

+0

'MsgBox' с' 'Вы хотите сохранить?" 'Всплывает, чем я ударил save, чем он снова появляется ... – JT2013

 Смежные вопросы

  • Нет связанных вопросов^_^