2009-12-29 8 views
14

एमएस एक्सेस: रिकॉर्ड्स (शून्य) मानों को सभी रिकॉर्ड के लिए 0 के साथ कैसे बदलें?सभी रिकॉर्ड्स के लिए 0 के साथ खाली (शून्य) मानों को कैसे बदलें?

मुझे लगता है कि इसे एसक्यूएल का उपयोग करके किया जाना है। मैं रिक्त स्थान के साथ 0 को प्रतिस्थापित करने के लिए ढूँढें और बदलें, लेकिन दूसरी तरफ नहीं (एक "रिक्त" नहीं मिलेगा, भले ही मैं [Ctrl-spacebar] दर्ज करता हूं जो एक स्थान सम्मिलित करता है।

तो मुझे लगता है कि मैं एसक्यूएल जहाँ मैं MyField के लिए शून्य मान पाते हैं क्या करने की जरूरत है, तो उन सभी के साथ 0.

उत्तर

18

जाओ क्वेरी डिजाइनर खिड़की करने के लिए, की जगह एसक्यूएल मोड में स्विच, और इस प्रयास करें:

Update Table Set MyField = 0 
Where MyField Is Null; 
+0

पहला उत्तर भी सही है और मुझे इसे प्राप्त करने में सक्षम किया होगा, लेकिन इस में एक्सेस-विशिष्ट निर्देशों का अतिरिक्त लाभ है जो इसे थोड़ा तेज बनाता है। आपकी मदद के लिए सभी को धन्यवाद, और नया साल मुबारक हो! – rick

12

यदि आप इसे क्वेरी के साथ करने का प्रयास कर रहे हैं, तो यहां आपका उत्तर है:

चयन IsNull ([field], 0) [तालिका]

संपादित से

IsNull समारोह गलत तरीके से इस्तेमाल किया गया था - इस संशोधित संस्करण IIF

SELECT IIF(ISNULL([field]), 0, [field]) FROM [table] 

का उपयोग करता है यदि आप तालिका में वास्तविक मानों को प्रतिस्थापित करना चाहते हैं, तो आपको इसे इस तरह से करने की आवश्यकता होगी:

UPDATE [table] SET [FIELD] = 0 WHERE [FIELD] IS NULL 
+1

प्रस्तुत फॉर्म में ISNULL एमएस एक्सेस एसक्यूएल – Juliusz

+0

@ जुलिअसज़ सही में मौजूद नहीं है। 'WHERE [FIELD] IS NULL' का उपयोग करके दूसरी पंक्ति, एमएस एक्सेस एसक्यूएल में सही उपयोग है, चाहे चयन या अद्यतन हो। – vapcguy

3
UPDATE YourTable SET MyField = 0 WHERE MyField IS NULL 

अधिकांश SQL बोलियों में काम करता है। मैं एक्सेस का उपयोग नहीं करता, लेकिन आपको शुरू करना चाहिए।

+0

डुप्लिकेट उत्तर ... लेकिन मैंने देखा कि यह उसी तारीख/समय पर मोपोक के रूप में आया था .... – vapcguy

0

मैं अधिक सामान्य होने के लिए ऊपर दिए गए SQL कथन को बदल दूंगा। वाइल्डकार्ड का उपयोग करना कभी भी बुरा विचार नहीं होता है जब जनसंख्या आबादी की बात आती है।

इस प्रयास करें:

Update Table Set * = 0 Where * Is Null; 
2

निम्नलिखित क्वेरी भी काम करता है और अगर है कि तुम क्या करना चाहते है तो आप एक अद्यतन क्वेरी की जरूरत नहीं होगी:

IIF(Column Is Null,0,Column) 
0

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

+1

लेकिन यह मौजूदा मानों को संभाल नहीं पाएगा। यह केवल उन मानों पर लागू होता है जो परिवर्तन के बाद जोड़े जाएंगे। – SchmitzIT

0

मैंने "रिक्त" मानों के साथ पंक्तियों को "शून्य" मानों को स्थान धारकों के रूप में बदलने के लिए दो चरणों की प्रक्रिया का उपयोग किया।

UPDATE [TableName] SET [TableName].[ColumnName] = "0" 
WHERE ((([TableName].[ColumnName])="")); 

UPDATE [TableName] SET [TableName].[ColumnName] = "Null" 
WHERE ((([TableName].[ColumnName])="0")); 
3

बिना 'जहां है और' के ...

Update Table Set MyField = Nz(MyField,0) 
2

बेहतर समाधान तालिका पैदा करने के दौरान समारोह (शून्य करने के लिए नल) न्यूजीलैंड उपयोग करने के लिए है अगर => NZ ([columnName]) यह 0 आता है कॉलमनाम में "शून्य" कहां है।

+0

+1! आपका उत्तर प्रश्नों के लिए समस्या हल करता है टेबल नहीं। इसके अतिरिक्त, किसी तालिका को "साफ" करने के लिए, आपको एक अद्यतन क्वेरी बनाने और कॉलम मानों को सेट करना होगा जैसे 'माईफिल्ड: एनजेड (माईफिल्ड, 0)' रन! Access2013 – Takedasama

+0

के लिए भी काम करता है ", 0" => माईफिल्ड: एनजेड (माईफिल्ड) के बिना भी काम करता है – user3292421

1

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

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