मैंने एक यूजरफॉर्म डेटा बेस बनाया जहां मैं नया डेटा जोड़ सकता हूं और वर्तमान प्रोजेक्ट विवरण खोज सकता हूं।

कुछ टेक्स्टबॉक्स हैं जहां मैं निम्नलिखित के लिए चाहूंगा:

  1. डेटा जोड़ते समय, राशि को मुद्रा के रूप में प्रदर्शित करने के लिए।

      I already used the Afterupdate() event and it works well,
    
        Private Sub txtPOAmount_Afterupdate()
            txtPOAmount.Value = Format(txtPOAmount.Value, "$#,###.##")
        End Sub
    
  2. मैं यह भी चाहूंगा कि जब यह डेटा खींचे तो यह मुद्रा प्रदर्शित करे

     I used the Change() event, which also does the job
    
    
       Private Sub txtPOAmount_Change()
           txtPOAmount.Value = Format(txtPOAmount.Value, "$#,##0.00")
       End Sub
    

एक या दूसरे का उपयोग करने के साथ वर्तमान मुद्दे:

-जब मैं आफ्टरअपडेट () ईवेंट का उपयोग करता हूं यदि मैं डेटा बेस में पहले से ही डेटा खींचना चाहता हूं तो यह मुद्रा तब तक नहीं दिखाता जब तक कि मैं इसे अपडेट नहीं करता।

-जब मैं केवल चेंज() ईवेंट का उपयोग करता हूं, तो यह डेटा को मुद्रा के रूप में प्रदर्शित करता है, लेकिन जब मैं डेटा को अपडेट करना चाहता हूं तो केवल काम में टाइप की गई मुट्ठी संख्या। (उदा. टाइप 5337, यह $5.00 प्रदर्शित करता है)

हालांकि, मैं चाहूंगा कि इन दोनों विकल्पों में एक साथ काम किया जाए। अगर मैं डेटा खींचना चाहता हूं तो मैं चाहता हूं कि उपयोगकर्ताफॉर्म मुद्रा प्रदर्शित करे, और यदि मैं इसे अपडेट करता हूं, तो मैं चाहता हूं कि यह पूरी राशि दर्ज करे।

3
Valtor 14 अप्रैल 2020, 18:55

1 उत्तर

सबसे बढ़िया उत्तर

Change() ईवेंट के बजाय इसे अपडेट करने के लिए TextBox1_Exit का उपयोग करने का प्रयास करें, इसका मतलब है कि आपको ईवेंट के सक्रिय होने से पहले टेक्स्टबॉक्स स्ट्रिंग में एक से अधिक वर्णों को संपादित करने की स्वतंत्रता मिलती है और आपको बाएं और दाएं स्थानांतरित करने के लिए तीर कुंजियों का उपयोग करने से रोकता है आपका "मुद्रा" टेक्स्टबॉक्स:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = Format(TextBox1.Value, "£#,##0.00")
End Sub
0
jamheadart 14 अप्रैल 2020, 19:31