2012-10-23 34 views
5

क्रॉस यहाँ प्रकाशित किया गया था संलग्न करने के लिए:उपयोग चर क्षेत्र पैरामीटर

http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077

मैं ADO का उपयोग कर रहा एक्सेल में एमएस एक्सेस से डेटा पुनः प्राप्त करने, और मैं अपने प्रश्न का चयन भाग में एक Iif बयान संलग्न करना चाहते हैं । मेरी SQL स्ट्रिंग एक टेक्स्ट फ़ाइल में संग्रहीत है, और किसी भी पैरामीटर को एडीओ के माध्यम से जोड़ा जा रहा है।

मैं जानता हूँ कि कहां खंड में पैरामीटर संलग्न करने का तरीका, और यहां तक ​​कि इस तरह SELECT कथन में पैरामीटर संलग्न कर सकते हैं:

SELECT BA, Iif(QA=[@somestring],[@somestring2], [@somestring3]) 
FROM myData 
WHERE BA = 'some person' 

लेकिन क्या मैं पूरा करने के लिए कोशिश कर रहा हूँ एक प्लेसहोल्डर बदलने के लिए है [@somestring] इस तरह के रूप में एक चर लंबाई Iif बयान में:

SELECT BA, [@somestring]  

और प्लेसहोल्डर एक स्ट्रिंग मैं एक समारोह का उपयोग कर का निर्माण किया है करने के लिए अनुवाद:

Iif(QA='Jon Doe', 'Jon', Iif(QA='Jane Doe', 'Jane', 'Nobody')). 

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

क्या मैं भी संभव करने की कोशिश कर रहा हूं, या क्या एसक्यूएल को प्रारंभिक कमांड में पूर्वनिर्धारित आईआईएफ कथन के लिए फ़ील्ड चाहिए?

यानी, IIF (क्यूए = [@ somestring], [@ sometstring2], [@ somestring3])

उत्तर

0

यह एक सीधी VBForums से कट और पेस्ट है। यह एक समुदाय विकी है और केवल इस प्रश्न को "कोई जवाब नहीं" से निकालने का इरादा है। इसे हटाया जा सकता है या उचित के रूप में संशोधित किया जा सकता है।


से: http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077

द्वारा: si_the_geek

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

यदि आप क्वेरी के अन्य हिस्सों को बदलना चाहते हैं, तो आपको अन्य विधियों (जैसे स्ट्रिंग बिल्डिंग) का उपयोग करने की आवश्यकता होगी। उदाहरण के उदाहरण में अपनी पोस्ट के अंत में, आपको क्वेरी स्ट्रिंग में जोड़ना चाहिए, और पैरामीटर के माध्यम से मान जोड़ें।