2012-05-30 16 views
8

मुझे यकीन है कि यह बहुत आसान है, लेकिन मैं यह नहीं मिल सकता है। एक्सेस फॉर्म की नज़दीकी घटना में, मैं फॉर्म को बंद करना कैसे रद्द कर सकता हूं? मेरे पास एक परीक्षण है जो एक तालिका में रिकॉर्ड की गणना करता है। अगर उस तालिका में रिकॉर्ड हैं, तो मैं उपयोगकर्ता से पूछना चाहता हूं कि क्या वे बंद करना चाहते हैं या वापस जाना चाहते हैं और उनके साथ काम करना चाहते हैं। तो मैं करीबी घटना कैसे रद्द करूं?बंद ईवेंट में बंद फॉर्म को कैसे रद्द करें?

+4

समस्या को संपादित जवाब होने के लिए नहीं! यह आपके लिए हल किए गए किसी को पढ़ने के लिए बहुत भ्रमित है। दोषपूर्ण कोड और सही कोड को अलग से प्रदान करना एक समाधान है। –

+0

मैं एमएस-एक्सेस बाध्य रूपों को समस्याग्रस्त रूप से नियंत्रित करना मुश्किल मानता हूं। सुनिश्चित नहीं है कि डेवलपर्स क्या सोच रहे थे! – NoChance

उत्तर

11

आप को अनलोड घटना का उपयोग कर सकते हैं:

GlobalVar ButtonClicked 

Private Sub Form_Open(Cancel As Integer) 
    ButtonClicked = False 
End Sub 

Private ClickMe_Click(Cancel As Integer) 
    ButtonClicked = True 
End Sub 

Private Sub Form_Unload(Cancel As Integer) 
    If Not ButtonClicked Then 
     Cancel = True 
    End if 
End Sub 

Order of events for database objects

+0

मुझे यकीन है कि मुझे समझ में नहीं हूँ, मैं पास घटना में Form_Unload घटना के लिए कुछ पारित करना चाहिए? – MAW74656

+0

ओह, मैं देखता हूं, test_unload में परीक्षण डालें और फिर रद्द करें = सही सेट करें। http://msdn.microsoft.com/en-us/library/aa211464%28v=office.11%29.aspx – MAW74656

+1

मैं इसे कैसे उपयोग करने के बारे में बहुत अधिक नोटों जोड़ लिया है। – Fionnuala

0

अध्ययन और इस कोड की कोशिश, यह मेरे लिए काम किया। अपने चुने हुए नामों के साथ आवश्यक परिवर्तनीय नाम बदलें। कोड को अपने फॉर्म के form_unload इवेंट में पेस्ट करें। चेतावनी !!!: आप यह कार्रवाई करने के बाद आप यह मुश्किल डिजाइन और लेआउट दृश्य

Private Sub Form_Unload(Cancel As Integer) 
     userresponse = MsgBox("Are you sure you want close? All your work wouldn't be saved", vbYesNo, "Database Information") 
     Select Case userresponse 
     Case 6 
      Cancel = False 
      'this line opens another form in my own case 
      DoCmd.OpenForm "EngMenu" 

     Case 7 
      Cancel = True 
      'this line keeps my own form open in my own case 
      DoCmd.OpenForm "UpdateForm" 


     Case Else: 

      MsgBox "You are not allowed to perform this operation", vbInformation, "Database Information" 
     End Select 
    End Subenter code here 
1

उपयोग में अपने फ़ॉर्म का उपयोग करने के मिलेगा घटना "Form_BeforeUpdate (पूर्णांक के रूप में रद्द)" और यह सच है के लिए रहने दें निर्धारित किया है।

सूचना है कि आप केवल जब तक आप कुछ तर्क जोड़ने वास्तव में डेटाबेस अद्यतन अनुमति देने के लिए बिल्कुल बंद करने के लिए सक्षम नहीं होगा।

संबंधित मुद्दे