संभावित समस्याएं:
1 समवर्ती संपादन
एक कारण यह हो सकता है कि विचाराधीन रिकॉर्ड को उस रूप में खोला गया है जिसे आप संपादित कर रहे हैं। यदि आप अपने संपादन सत्र के दौरान प्रोग्रामेटिक रूप से रिकॉर्ड बदलते हैं और फिर फॉर्म को बंद करने का प्रयास करते हैं (और इस प्रकार रिकॉर्ड को सहेजने का प्रयास करते हैं), तो एक्सेस का कहना है कि रिकॉर्ड किसी और द्वारा बदल दिया गया है (बेशक यह आप हैं, लेकिन एक्सेस नहीं जानता )।
रिकॉर्ड को प्रोग्रामेटिक रूप से बदलने से पहले फॉर्म को सेव करें।
फॉर्म में:
'This saves the form's current record
Me.Dirty = False
'Now, make changes to the record programmatically
2 प्राथमिक कुंजी या टाइमस्टैम्प गुम है
सुनिश्चित करें कि SQL-सर्वर तालिका में प्राथमिक कुंजी के साथ-साथ टाइमस्टैम्प कॉलम भी है।
टाइमस्टैम्प कॉलम एक्सेस को यह निर्धारित करने में मदद करता है कि रिकॉर्ड को संपादित किया गया है क्योंकि इसे अंतिम बार चुना गया था। यदि कोई टाइमस्टैम्प उपलब्ध नहीं है, तो सभी क्षेत्रों का निरीक्षण करके यह एक्सेस करता है। हो सकता है कि यह शून्य प्रविष्टियों के साथ अच्छी तरह से काम न करे यदि कोई टाइमस्टैम्प कॉलम नहीं है (देखें 3 नल बिट्स समस्या )।
टाइमस्टैम्प वास्तव में एक पंक्ति संस्करण संख्या संग्रहीत करता है, न कि एक समय।
टाइमस्टैम्प कॉलम जोड़ने के बाद एक्सेस में टेबल लिंक को रीफ्रेश करना न भूलें, अन्यथा एक्सेस इसे नहीं देख पाएगा। (नोट:माइक्रोसॉफ्ट का अपसाइजिंग विजार्ड एक्सेस टेबल को SQL-सर्वर टेबल में कनवर्ट करते समय टाइमस्टैम्प कॉलम बनाता है।)
3 नल बिट्स समस्या
@AlbertD.Kallal के अनुसार यह यहां वर्णित एक नल बिट्स समस्या हो सकती है:KB280730
(WayBackMachine पर अंतिम स्नैपशॉट, मूल लेख हटा दिया गया था)। यदि आप बिट फ़ील्ड का उपयोग कर रहे हैं, तो उनका डिफ़ॉल्ट मान 0
. पर सेट करें और पहले दर्ज किए गए किसी भी NULL को 0
. से बदलें . मैं आमतौर पर एक BIT DEFAULT 0 NOT NULL
का उपयोग करता हूं बूलियन फ़ील्ड के लिए क्योंकि यह बूलियन के विचार से सबसे अधिक निकटता से मेल खाता है।
KB आलेख एक *.mdb के बजाय एक *.adp का उपयोग करने के लिए कहता है; हालांकि, Microsoft ने Access 2013 में एक्सेस डेटा प्रोजेक्ट्स (ADP) के लिए समर्थन बंद कर दिया ।