2012-06-21 17 views
5

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

... 
FROM Table1 LEFT JOIN Table2 ON CStr([Table1].[Column]) = Table2.Column 
... 

मैं सिर्फ त्रुटि संदेश मिल, ज्यादातर रखना: मैं क्या प्रयास कर रहे हैं, मूल रूप से, यह है

क्या कोई भी गलत कर सकता है कि मैं क्या गलत कर सकता हूं/मैं बेहतर क्या कर सकता हूं?

धन्यवाद।

+0

क्वेरी डिज़ाइन विंडो के एमएस एक्सेस डिज़ाइन व्यू में काफी सीमित है। क्या आप सीधे एसक्यूएल व्यू विंडो से चल सकते हैं? – Fionnuala

+0

हाँ, मैं संपादन कर रहा हूँ/एसक्यूएल दृश्य – Tim

+2

के बाहर इस चल तो फिर तुम बस डिजाइन खिड़की की एक सीमा के खिलाफ चलाए गए हैं। आपको अपनी क्वेरी को बनाए रखने के लिए एसक्यूएल व्यू का उपयोग करना होगा। – Fionnuala

उत्तर

1

यहाँ अपने FROM खंड पुन: स्वरूपित है:

FROM 
    Table1.Column 
    LEFT JOIN Table2.Column 
    ON CStr([Table1].[Column]) = Table2.Column 

सूचना यह Table1.Column और Table2.Column डेटा स्रोत के रूप में उपयोग करता है। और वे कॉलम (फ़ील्ड) हैं, टेबल नहीं (वास्तविक या आभासी)।

FROM 
    Table1 
    LEFT JOIN Table2 
    ON CStr([Table1].[Column]) = Table2.Column 

पहुँच 'क्वेरी डिजाइनर मुसीबत मिलती है साथ जो अभिव्यक्ति पर में कार्यों में शामिल हैं के साथ काम कर दिया गया है:

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

Set rs = CurrentDb.OpenRecordset(_ 
"SELECT Count(*) AS row_count" & vbCrLf & _ 
"FROM Table1 AS t1" & vbCrLf & _ 
"LEFT JOIN Table2 AS t2" & vbCrLf & _ 
"ON CStr(t1.[Column])=t2.[Column];") : _ 
? rs(0) : _ 
rs.Close : _ 
Set rs = Nothing 

सूचना उन लाइन निरंतरता पात्रों में से प्रत्येक (अंडरस्कोर, "_") एक अंतरिक्ष से पहले आना चाहिए और बाद कोई अक्षर होते हैं।

+0

मेरी माफ़ी, मेरी जॉइन वास्तव में इस तरह से स्वरूपित नहीं थी। मैंने गलती से उस प्रश्न में टाइप किया। इसे सही तरीके से स्वरूपित किया गया था - जिसे आपने पोस्ट किया - पूरे समय और यह काम नहीं किया। – Tim

+0

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

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