सबसे पहले, आइए सुनिश्चित करें कि हम "कैस्केडिंग कॉम्बो बॉक्स" के पीछे की अवधारणा को समझते हैं। तर्क इस तरह से चलता है कि आपके द्वारा कॉम्बो 1 से चयन करने के बाद, कॉम्बो 2 में उपलब्ध विकल्प बदल जाएंगे ताकि वे केवल कॉम्बो 1 से संबंधित आइटम हों। इसी तरह, जब हम कॉम्बो 2 से किसी आइटम का चयन करते हैं, तो कॉम्बो 3 में आइटम केवल कॉम्बो 2 में उपयोगकर्ता द्वारा चुने गए आइटम से संबंधित आइटम होंगे।
तो, सबसे पहले, कॉम्बो 1 के अलावा प्रत्येक कॉम्बो बॉक्स खाली होना चाहिए, या कॉम्बो 1 के डिफ़ॉल्ट मान से संबंधित होना चाहिए। आप इसे किसी भी तरह से कर सकते हैं।
इसके बाद, Combo1 के आफ्टरअपडेट इवेंट में, आपके पास कुछ इस तरह होना चाहिए:
Me.cboCombo2.RowSource = "SELECT MyFieldNames " & _
"FROM tblMyTable " & _
"WHERE SomeID = " & Nz(Me.cboCombo1) & _
"ORDER BY SomeValue"
Me.cboCombo2.Requery
जाहिर है, MyFieldNames, tblMyTable, और वे सभी अन्य मान इस बात पर निर्भर करेंगे कि आप वास्तव में क्या खोज रहे हैं, आपकी स्रोत तालिका/क्वेरी नाम और फ़ील्ड नाम इत्यादि...
ठीक है, तो अब Combo2 को उस डेटा से भरना चाहिए जो केवल आपके द्वारा Combo1 में चुने गए डेटा के लिए प्रासंगिक है, क्योंकि हम ऊपर SQL में Combo1 को फ़िल्टर के रूप में उपयोग कर रहे हैं।
यदि यह ठीक लगता है, तो कॉम्बो 3 के लिए कमोबेश ठीक यही काम करें। आपको दोनों कॉम्बो के मानों पर फ़िल्टर करने की आवश्यकता हो सकती है, या आप अपने डेटासेट के आधार पर कॉम्बो 2 में केवल उस मान का उपयोग करने में सक्षम हो सकते हैं।
झाग, कुल्ला, दोहराएँ। मुझे लगता है कि अगर आपके पास 50 कॉम्बो हैं, तो आपको ऐसा 50 बार करना होगा, लेकिन ऐसा ही होता है।
अधिक संदर्भ के लिए, यह लेख देखें:http://www.fmsinc .com/microsoftaccess/forms/combo-boxes/cascading.html