سؤال

أتلقى الخطأ التالي في MS Access ADP عند محاولة إضافة سجل في نموذج مرتبط بجدول MS SQL Server 2000:

خطأ وقت التشغيل '31004':

لا يمكن إعادة تعريف قيمة حقل (AutoNumber) قبل حفظها.

يرجى حفظ السجل الذي يحتوي على حقل (AutoNumber) قبل تنفيذ هذا الإجراء.ملحوظة: تم استرجاعه هو في الواقع مكتوبة خطأ في الخطأ.

هل يعلم أي أحد ماذا يعني هذا؟

لقد أجريت بحثًا على الويب ولم أتمكن من العثور على الإجابة إلا في موقع معين لا يستطيع الوصول إليه سوى الخبراء.

هل كانت مفيدة؟

المحلول

أولاً، إذا كنت ستلقي نظرة على تبادل الخبراء - فافعل ذلك في FireFox، وسترى الإجابات غير المحظورة في أسفل الصفحة.

ثانيًا، هل لديك نموذج فرعي في هذا النموذج يستخدم حقل الرقم التلقائي/المفتاح في النموذج الرئيسي؟هل تحتاج إلى حفظ البيانات الموجودة في هذا النموذج الفرعي (أي وجود مفتاح خاص بها) قبل حفظ النموذج الرئيسي.قد تكون في طريق مسدود بين A وB مما يتطلب إنقاذ بعضهما البعض أولاً.

بخلاف ذلك، يجب أن تتمكن بطريقة ما من الوصول إلى حقل الرقم التلقائي هذا عندما تقوم بحفظه.أفضل ما يمكنني اقتراحه هو التنقل عبر الكود سطرًا تلو الآخر.

نصائح أخرى

هل تحاول تعيين قيمة حقل الهوية لمتغير أو أي شيء آخر قبل حفظ السجل؟

لأي سبب من الأسباب، يحاول تطبيقك قراءة قيمة حقل الهوية قبل حفظ السجل، وهو ما ينشئ حقل الهوية هذا.بمعنى آخر، لا توجد قيمة لحقل "الرقم التلقائي" حتى يتم حفظ الصف.

أعتقد أننا سنحتاج إلى رؤية المزيد من التعليمات البرمجية أو معرفة المزيد عن الخطوات التي تؤدي إلى هذا الخطأ لحله بمزيد من التفاصيل.

كان ينبغي عليك إضافة بعض أسطر التعليمات البرمجية لتوضح لنا كيف تدير بياناتك وما تفعله بالضبط.لكنني أشك في وجود مشكلة تتعلق بتحديث مجموعة السجلات.هل يمكنك تحديد متى يتم إنشاء قيمة الرقم التلقائي؟هل هو متوفر في عنصر تحكم في النموذج؟هل يمكنك إضافة عنصر تحكم لعرض هذه القيمة للتحقق من كيفية إنشائها عند إضافة سجل جديد؟هل تم تحديث مجموعة السجلات الأساسية بشكل صحيح؟هل يمكنك إضافة شيء مثل me.recordset.update في بعض أحداث النموذج:سأحاول OnCurrent واحد ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top