أبو عبدالله الحلوانى قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 السلام عليكم ورحمة الله وبركاته أولا وصف الوضع: أعمل علي تطوير البرنامج الحالي الذي نعمل عليه لربطه بقاعدة بيانات SQL server - وأنا الآن أجرب علي سرفر المنزل وهو غير متصل بأي جهاز آخر حتي الآن الفورم الذي أجرب عليه تعديل بيانات فورم مستمر متصل بجدول علي السرفر الوهمي الذي أعمل عليه التجربة كانت عبارة عن رقم يتم تعديله من خلال الضغط علي الزر ثانيا المشكلة: تظهر رسالة تعارض بالكتابة - ولا أدري ما السبب رغم ان الكتابة كانت من فورم واحد وليست أكثر من فورم - وكذلك لا يوجد مستخدمين سواي الآن يستخدمون قاعدة البيانات ماسبب هذه المشكلة ؟؟!!! ملاحظة: قد وجدت هذا الكلام لاستاذنا أبو عمر في هذا الموضوع معلومة 1 : عند تحرير بيانات في جدول قاعدة بيانات SQL مرتبط بواسطة استخدام ODBC ، لا تؤمن قاعدة البيانات اكسيس السجلات، ولكن، تتحكم قاعدة بيانات SQL في التأمين . وفي هذه الحالة تتصرف قاعدة البيانات اكسيس دوماً كأن إعداد تأمين السجلات بلا تأمين هو المحدد . وبما أنني حديث عهد بالتعامل مع الـ SQL server لم أفهم جيدا هذا الكلام وكذلك لا أعرف كيف يمكنني تغير اعدادات ال SQL server لأتمكن من تجاوز هذه المشكلة - مع العلم أن باقي النماذج التي أتحكم من خلالها في ادخال البيانات تعمل بشكل جيد ولكنها ليست نماذج مستمرة فهل المشكلة بالنموذج المستمر أم ماذا؟!!!!!!! أفيدونا أفادكم الله وجزاكم الله عنا خيرا
ناقل قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 استخدم هذا الكود قبل تشغيل الاستعلام DoCmd.RunCommand acCmdSaveRecord 1 1
أبو عبدالله الحلوانى قام بنشر نوفمبر 21, 2020 الكاتب قام بنشر نوفمبر 21, 2020 15 دقائق مضت, ناقل said: استخدم هذا الكود قبل تشغيل الاستعلام شكرا علي اهتمامكم فعلا قد وجدت هذا من ضمن اقتراحات مايكروسوفت لحل المشكلة بهذا الرابط http://support.microsoft.com/kb/304181/ar ولكن لم يفلح معي أي من هذه الاقتراحات. يبدو أن المشكلة كما أظن بالنموذج المستمر ربما، وبانتظار رأي أساتذتني
jjafferr قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 السلام عليكم 🙂 رسالة Write Conflict: الرسالة هذه معناها ، انه في النموذج في أكثر من جهة تدخل البيانات منذ فتحه ، والبرنامج محتار ، هل يأخذ بيانات الادخال من النموذج مباشرة ، او من البيانات اللى جاته من الاستعلام (او قد تأتيه من الجدول ، اذا عملت تحديث للبيانات للجدول ، وتنعكس هذه البيانات على النموذج) ، وبالاخص عند تغيير البيانات عن طريق Recordset . والرابط التالي فيه كود ، ولكن تابع الكود وسترى اني كنت محتاج اجدد/احدّث معلومات النموذج ، ولكن صادفتني هذه الرساله ، فاضطررت ان استعمل كود وطريقة ثانية لحل الموضوع: http://www.officena.net/ib/topic/65548-المساعدة-في-جمع-الدقائق-حسب-الشهر-للموظف/#comment-426706 جعفر 1
أبو عبدالله الحلوانى قام بنشر نوفمبر 21, 2020 الكاتب قام بنشر نوفمبر 21, 2020 4 دقائق مضت, jjafferr said: الرسالة هذه معناها ، انه في النموذج في أكثر من جهة تدخل البيانات منذ فتحه ، والبرنامج محتار جزاكم الله عنا خيرا ولكن كما أسلفت سابقا أن النموذج واحد والزر الذي يتم من خلاله تعديل القيمة موجود علي نفس النموذج والكود المستخدم خلف الزر هو كود بسيط بهذا الشكل Me.EnzarKbl = Val(Nz(Me.EnzarKbl, 0)) + 1 فاعتقدت أنه لا يوجد جهات متعددة تعدل البيانات علي حسب ظني ولكن مصدر بيانات النموذج هو استعلام فهل يعتقد الأكسس أن الاستعلام داخل النموذج جهة والنموذج الذي يحوي الاستعلام جهة أخري!! سأطلع علي الموضوع الذي أشرتم اليه وأوافيكم بالنتائج ان شاء الله
jjafferr قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 2 دقائق مضت, أبو عبدالله الحلوانى said: ولكن مصدر بيانات النموذج هو استعلام هل استعلام ثم تستعمل Recordset يستعمل الاستعلام ؟ اذا كان هناك كود / طريقة معينة دائما تحصل بها على الخطأ ، فجرب هذا الكود وشوف اذا تحصل به على خطأ : Me.EnzarKbl = Me.EnzarKbl جعفر 1
أبو عبدالله الحلوانى قام بنشر نوفمبر 21, 2020 الكاتب قام بنشر نوفمبر 21, 2020 4 دقائق مضت, jjafferr said: هل استعلام ثم تستعمل Recordset يستعمل الاستعلام ؟ لا Recordset تستعمل الاستعلام ولكن يوجد Recordset داخل الزر تستعمل جدول آخر مختلف تماما عن مصدر بيانات النموذج ولا حتي مرتبط به 8 دقائق مضت, jjafferr said: فجرب هذا الكود وشوف اذا تحصل به على خطأ نعم نفس المشكلة
jjafferr قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 جرب التالي ، كل خطوة مستقلة عن الاخرى ، اعمل كل واحدة بطريقة مستقلة ، ثم مافي مانع تجمعهم مع يعض : 1. اوقف الـ Recordset وشوف اذا تأتيك الرسالة ، 2. بعد ان تعمل تحديث او تغيير في الـ Recordset ، مباشرة الخطوة التالية احفظ السجل : DoCmd.RunCommand acCmdSaveRecord ، 3. بعد ان تعمل العملية الحسابية ، مباشرة الخطوة التالية احفظ السجل : DoCmd.RunCommand acCmdSaveRecord جعفر 1
أبو عبدالله الحلوانى قام بنشر نوفمبر 21, 2020 الكاتب قام بنشر نوفمبر 21, 2020 (معدل) 44 دقائق مضت, jjafferr said: 1. اوقف الـ Recordset وشوف اذا تأتيك الرسالة ، نعم المشكلة كما هي والخطأ يظهر علي سطر كود العملية الحسابية 44 دقائق مضت, jjafferr said: 3. بعد ان تعمل العملية الحسابية ، مباشرة الخطوة التالية احفظ السجل : DoCmd.RunCommand acCmdSaveRecord تظهر رسالة تعارض الكتابة ملاحظة: قمت باستخلاص النموذج الذي به المشكلة والجدول والاستعلام المرتبط به بقاعدة فارغة لأرفقه بالموضوع ثم قمت بالتجربة فعمل الكود بدون أي مشاكل فهل هذا يعني أن المشكلة بالسرفر فقط !! آسف علي تعب حضرتك كنت أريد رفع مرفق ولكن الظاهر أني محتاج أرفع الجهاز كله 😀 🤔 تم تعديل نوفمبر 21, 2020 بواسطه أبو عبدالله الحلوانى
الحلبي قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 مشاركة مع الاساتذة الكبار لا تستهين بان طالب مبتدأ مثلى دخل وعنده الحل ارجو من حضراتكم التركيز فيما اقول لعل وعسى يضغ سره فى اضعف حلقه لقد انحنى ظهرى من الجلوس امام هذه المشكلة والدخول على المواقع الاجنبية مشكلة تعارض الكتابة تأتى عندما يكون هناك نموذج فرعى مصدره استعلام فاكسس يعتبر الاستعلام مفتوح وعند التعديل عليه يعتبر مستخدم اخر دخل والحل عند الضغط على الزر الموجود لديكم لتعديل حقل الرقم قم بالتالى : اجعل مصدر النموذج الفرعى فارغ غير الاستعلام المرغوب فيه باستخدام الكود التالى اسم النموذج الفرعى.RecordSource="" ثم السطر الذى يلى هذا الكود مباشرا اجعل مصدر النموذج الاستعلام المرغوب فيه me.RecordSource="query" وطالما ان قاعدة البيانات متصلة بـ sql فلا فائدة بان تجعل تأمين السجل : سجل محرر ولكن افعلها لعل وعسى جزاكم الله خيرا 1
أبو عبدالله الحلوانى قام بنشر نوفمبر 21, 2020 الكاتب قام بنشر نوفمبر 21, 2020 10 دقائق مضت, حلبي said: لا تستهين بان طالب مبتدأ مثلى دخل وعنده الحل ارجو من حضراتكم التركيز فيما اقول لعل وعسى يضغ سره فى اضعف حلقه لقد انحنى ظهرى من الجلوس امام هذه المشكلة والدخول على المواقع الاجنبية ياهلا ويا مرحبا بأخي وأستاذي وجعل الله أجر ما سطرتم وما تعبتم في موازين حسناتكم ومن باب الاعتراف بالحق أني أنا هنا طالب العلم بساحة أساتذتي الكرام الأفاضل وبعد أخي النموذج الذي به المشكلة لا يوجد به نموذج فرعي بل هو كما ذكرت بوصف المشكلة بالمشاركة الأولي هو نموذج مستمر فقط وكما ذكرت بالمشاركة الأخيرة أني تفاجأت عند تحويل مصدر الفورم من جدول السرفر الي جدول محلي أن المشكلة قد حلت فيبدو أن هناك مشكلة ما في تعامل السرفر مع النماذج المستمرة وجزاكم الله عنا خيرا أتعبتاكم كثيرا معي.
الحلبي قام بنشر نوفمبر 21, 2020 قام بنشر نوفمبر 21, 2020 واياكم ان شاء الله احسنت القول والتعبير فلا يكون بعيدا عن استاذ فاضل مثل حضرتك كل الاحترام والتقدير 1
أفضل إجابة أبو عبدالله الحلوانى قام بنشر نوفمبر 22, 2020 الكاتب أفضل إجابة قام بنشر نوفمبر 22, 2020 السلام عليكم ورحمة الله وبركاته الحمد لله وحده تم حل المشكلة وجدت هذا الكلام 2 Missing primary key or timestamp Make sure the SQL-Server table has a primary key as well as a timestamp column. The timestamp column helps Access to determine if the record has been edited since it was last selected. Access does this by inspecting all fields, if no timestamp is available. Maybe this does not work well with null entries if there is no timestamp column (see 3 Null bits issue). The timestamp actually stores a row version number and not a time. Don't forget to refresh the table link in access after adding a timestamp column, otherwise Access won't see it. (Note: Microsoft's Upsizing Wizard creates timestamp columns when converting Access tables to SQL-Server tables.) في هذا الرابط https://stackoverflow.com/questions/13993301/editing-record-issues-in-access-sql-write-conflict وخلاصة الموضوع أنه كان يجب وضع عمود يسمي الطابع الزمني بالجدول الموجود بالسرفر يبدو أن التحول الي الـ SQL server ليس بالأمر السهل كما كنت أتوقع - ربنا يستر علي اللي جاي 😀 🙃 - وأشكر جميع أساتذتي الأفاضل وجزاكم الله عني خيرا 1 1
الحلبي قام بنشر نوفمبر 22, 2020 قام بنشر نوفمبر 22, 2020 (معدل) استاذى الفاضل / @أبو عبدالله الحلوانى هذا الحل هو نفس الحل الذى ذكرته لحضرتك اعلاه ـ ارجو النظر الى الفقرة التالية من الرابط الذى وضعته حضرتك لانى قدر مررت عليه سابقا واخذت الحل منه كما فعلت حضرتك وقد ترجمته بترجمه جوجل وهو كالتالى: - Subroutine حيث أسمي تحديث الجدول المباشر. قبل استدعاء التحديث ، قمت بتعيين متغير السلسلة هذا على قيمة مصدر السجلات خلف النموذج المرتبط ، وبالتالي التقاط عبارة SQL الدقيقة المستخدمة في ذلك الوقت. بعد ذلك ، قمت بتعيين Recordsource للنموذج على سلسلة فارغة ("") لفصله عن البيانات. بعد ذلك ، أقوم بتحديث البيانات. بعد ذلك ، قمت بتعيين مصدر السجلات للنموذج مرة أخرى على القيمة المحفوظة في متغير السلسلة ، مع إعادة إنشاء الربط والسماح له بالتقاط القيمة (القيم) الجديدة في الجدول. إذا كان هناك نموذج فرعي واحد أو أكثر متضمن في هذا النموذج ، فيجب عندئذٍ معالجة حقول "الارتباط" بطريقة مماثلة لمصدر السجلات. عند تعيين Recordsource إلى سلسلة فارغة ، قد ترى #Name في الحقول غير المنضمة الآن. ما أفعله هو ببساطة تعيين الخاصية المرئية إلى خطأ على أعلى مستوى ممكن (قسم التفاصيل ، النموذج الفرعي ، إلخ) أثناء الوقت الذي يكون فيه مصدر التسجيل فارغًا ، اخى الفاضل ليس مهم ان يكون النموذج فرعى ام لا طالما تعارضت الكتابة قم بتغير مصدر السجل الى فارغ ثم ارجع مباشرا وضع مصدره الاستعلام الاساسى اما عملية : الطابع الزمنى ليس الا التعارض وقت تسجيل المستخدمين فى وقت واحد على كلا الحمد لله لما توصلت اليه واشكرك جزيلا لانك وضعت هذا الرابط لانى بحثت عليه ولم اجده مرة ثانية كل الاحترام والتقدير تم تعديل نوفمبر 22, 2020 بواسطه الحلبي 1
jjafferr قام بنشر نوفمبر 22, 2020 قام بنشر نوفمبر 22, 2020 وعليكم السلام 🙂 الحمدلله انك حصلت على الجواب الشافي 🙂 4 ساعات مضت, أبو عبدالله الحلوانى said: الحمد لله وحده تم حل المشكلة وجدت هذا الكلام 2 Missing primary key or timestamp هذا اللي دائما اذكره : اقتباس كل جدول يجب ان يحتوي على رقم تلقائي (وتاريخ تلقائي ، حيث نضع القيمة الافتراضية = ()Now ) ، مفهرس ، ومفتاح اساس ، الرقم التلقائي لإستعمال البرنامج ، وليس لإستعمال المبرمج ، اقتباس وانا دائما يكون عندي حقلين في جميع الجداول اللي اعملها: Auto_ID : ترقيم تلقائي ، Auto_Date : نوع تاريخ ، ونضع القيمة الافتراضية التالية في الجدول: Now جعفر 1 1
AliAli47 قام بنشر يناير 17, 2021 قام بنشر يناير 17, 2021 لقد وقعت في نفس المشكلة مع اني اضفت عمود timestamp لكني لم اضفت مستخدمين جدد لنفس القاعدة اصبحت لا استطيع التعديل او الحذف في الجذاول وتظهر هاته الرسالة
أبو عبدالله الحلوانى قام بنشر يناير 17, 2021 الكاتب قام بنشر يناير 17, 2021 9 ساعات مضت, AliAli47 said: لكني لم اضفت مستخدمين جدد لنفس القاعدة اصبحت لا استطيع التعديل او الحذف في الجذاول وتظهر هاته الرسالة من فضلك حدد أين تحدث المشكلة ومتي وكيف؟!! يعني: 1- الجدول الذي تحدث به المشكلة هل جدول يتم استخدامة في وقت واحد من عدة مستخدمين سضيفون نفس الحقول؟ 2-هل الواجهة المستخدمة للادخال فورم أكسس؟ 3-هل حدثت المشكلة عند ادخال مستخدمين مختلفين للبيانات من جهازين مختلفين؟ 4- كيف يتم الاتصال بالسرفر - هل بمستخدم وكلمة سر؟ 5- هل لهذا المستخدم صلاحيات القراءة والكتابة علي كافة حقول الجدول المحدد الذي تحدث به المشكلة؟ أولا- جرب هذا الحل في شاشة عرض التصميم للفوم الأكسس ووافنا بالنتائج - وفي انتظار الرد علي الاستفسارات أعلاه
AliAli47 قام بنشر يناير 17, 2021 قام بنشر يناير 17, 2021 1 minute ago, أبو عبدالله الحلوانى said: من فضلك حدد أين تحدث المشكلة ومتي وكيف؟!! يعني: 1- الجدول الذي تحدث به المشكلة هل جدول يتم استخدامة في وقت واحد من عدة مستخدمين سضيفون نفس الحقول؟ 2-هل الواجهة المستخدمة للادخال فورم أكسس؟ 3-هل حدثت المشكلة عند ادخال مستخدمين مختلفين للبيانات من جهازين مختلفين؟ 4- كيف يتم الاتصال بالسرفر - هل بمستخدم وكلمة سر؟ 5- هل لهذا المستخدم صلاحيات القراءة والكتابة علي كافة حقول الجدول المحدد الذي تحدث به المشكلة؟ أولا- جرب هذا الحل في شاشة عرض التصميم للفوم الأكسس ووافنا بالنتائج - وفي انتظار الرد علي الاستفسارات أعلاه تم حل المشكلة المشكلة كانت في عمود timestamp تغير الداتا تايب واصبج varbinary 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.