2008-10-17 12 views
5

मैं एक एमएस एक्सेस एप्लिकेशन बना रहा हूं जिसमें सभी रूप मोडल हैं। हालांकि, किसी रूप में डेटा परिवर्तन के बाद, मैं इस फ़ॉर्म के मूल रूप को नए डेटा के साथ रीफ्रेश करना चाहता हूं। इसे करने का कोई तरीका है। आगे विस्तार करने के लिए:किसी एक्सेस फॉर्म को रीफ्रेश कैसे करें

विचार करें कि दो रूप हैं, फॉर्म ए और फॉर्म बी दोनों मोडल फॉर्म हैं। फॉर्म ए से, मैंने फॉर्म बी शुरू किया, और अब फॉर्म बी में उपयोगकर्ता का ध्यान है। लेकिन फॉर्म बी के करीब, मैं फॉर्म ए को रीफ्रेश करना चाहता हूं क्या ऐसा करने का कोई तरीका है?

उत्तर

6

नहीं, यह है जैसे मैं प्रपत्र ए के Form_Load चलाना चाहते हैं, अगर यह संभव है

- वरुण महाजन

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

फार्म बी:

Sub RunFormALoad() 
    Forms!FormA.ToDoOnLoad 
End Sub 

प्रपत्र ए:

Public Sub Form_Load() 
    ToDoOnLoad 
End Sub  

Sub ToDoOnLoad() 
    txtText = "Hi" 
End Sub 
+0

मैंने इससे पहले नहीं सोचा था। बहुत बहुत धन्यवाद –

6

आप फिर से रंगना सकते और/या requery:

प्रपत्र बी के पास घटना पर:

Forms!FormA.Requery 

इस तुम क्या मतलब है?

+0

नहीं, ऐसा लगता है कि मैं फॉर्म ए के फॉर्म_लोड को चलाने के लिए चाहता हूं, यदि यह संभव है –

1

"requery" वास्तव में क्या है आप जो भी चलाना चाहते हैं, लेकिन आप फॉर्म ए के "गॉट फोकस" ईवेंट में ऐसा कर सकते हैं। अगर आपके पास अपने फॉर्म_लोड में कोड है, तो शायद आप इसे Form_Got_Focus पर ले जा सकते हैं।

+1

वरुण महाजन की टिप्पणी देखें। आवश्यकता लोड घटनाओं को नहीं चलाती है। – Fionnuala

+0

यही कारण है कि मैंने कोड को Form_Got_Focus पर ले जाने का सुझाव दिया (जैसा कि आपने अपने दूसरे उत्तर में किया था)। यदि वह फॉर्म से जुड़े डेटा को रीफ्रेश करना चाहता है, तो आवश्यकता है कि जाने का तरीका है। – BIBD

+0

यदि वह लोड ईवेंट को दोबारा करना चाहता है, तो कोड को दूसरे उप (जैसे रेमो प्रदर्शन के रूप में) पर ले जाएं और फिर उसे लोड में बुलाया जाए और उसके बाद उसे रीफ्रेश रूटिंग में (या तो बी बंद होने पर या फिर ए के साथ फिर से प्रवेश करने पर ध्यान दिया)। अगर कोई अन्य खिड़कियां भी खुलता है तो फोकस भी काम करेगा। – BIBD

0

मैं अनुशंसा करता हूं कि आप REQUERY विशिष्ट कॉम्बो बॉक्स का उपयोग करें जिसका डेटा आपने बदल दिया है और आप इसे Cmd.Close कथन के बाद करते हैं। इस तरह, यदि आप डेटा इनपुट कर रहे थे, तो उस डेटा की भी आवश्यकता होती है।

DoCmd.Close 
Forms![Form_Name]![Combo_Box_Name].Requery 

आप भी हाल ही में बदल मूल्य

Dim id As Integer 
id = Me.[Index_Field] 
DoCmd.Close 
Forms![Form_Name]![Combo_Box_Name].Requery 
Forms![Form_Name]![Combo_Box_Name] = id 

इस उदाहरण supposes कि यदि आपके पास द्वितीयक तालिका में इनपुट डेटा के लिए एक फार्म खोला को इंगित कर सकते हैं।

हमें बताएं कि आप स्कूल तालिका में School_Index और School_Name को सहेजते हैं और इसे छात्र तालिका में संदर्भित करते हैं (जिसमें केवल स्कूल_इंडेक्स फ़ील्ड होता है)। आप एक छात्र संपादन कर रहे हैं, जबकि, तुम उसे एक स्कूल है कि अपने स्कूल तालिका में नहीं है, के साथ संबद्ध करने की जरूरत है आदि आदि

-1

प्रपत्र आप टाइप करने की आवश्यकता ताज़ा करने के लिए - बटन घटना में me.refresh पर

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