اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاتة

واجهة مشكلة عند النقر على زر ضغط واصلاح قاعدة البيانات

وعند تحويل قاعدة البيانات( الواجهة) الى  accde  بظهور رسالة غريبة

ولا يتم بعدها اكمال العملية سواء الضغط والاصلاح أو عملية تحويل القاعدة

هذه صورة الرسالة

1.png.7973bac89edf02b3c85a33d743662cda.png

فصرت ابحث وين المشكلة مدة اسبوعين  في الاكواد

لكن لم اجد اي كود يوجد به خطأ

صرت ابحث في الاستعلامات ونفس الشي لم اتوصل الى اي خطأ

وبعد التعب في البحث

فكرت ابحث عن المشكلة في الجداول في قاعدة البيانات الخلفية

كانت  الجداول سليمة تمام

بعد كذا رحت ابحث في الجداول المرتبطة فكتشفت ان احد الحقول قد تم تغيره

وهو عبارة عن حقل قائمة منسدلة يقبل اختيار عدة قيم  لكن يظهر بشكل حقل مرفق

هذه الصورة قبل

2.png.3adf3cee5086c95916e9e7de501f922c.png

وهذه الصورة بعد

3.png.0bc244ebfec842d8709223dafbb7b5f2.png

الان عرفت وين المشكلة لكن مش عارف سببها

رجعت الى حلقة البحث والاستكشاف 😖صرت ابحث عن الاكواد التي لها صلة بالحقل في النماذج

مباشرة ولكن كل شي كان تمام التمام

صرت ابحث في الاكواد العامة في القاعدة مثل اكواد التأمين واكواد النسخ الاحتياطي الخ ......

الى ان وصلت الى كود اخفاء الجداول المرتبطة وهنا كانت المفاجأه

فبعد ايقاف هذا الكود واعادة اصلاح الجدول واظهارة اختفت المشكلة

وبعد اعادة الكود للعمل وتنفيذ اخفاء الجداول ترجع المشكلة

مع العلم ان المشكلة ما تصير الا مع هذا الحقل في هذا الجدول فقط

فتذكرت كلمة لاستاذنا @jjafferr في احد المواضيع ( لا اتذكر الموضوع بالضبط )

وهو يقول انه قرأ ان اكواد احفاء الجداول  تسبب مشاكل

وهذا ما حدث معي بالفعل واحببت ان اشارككم هذه  المشكلة لكي يتم اخذ الحيطة والحذر
 

وهذا هو الكود

Dim db As DAO.Database
Dim tdf As TableDef
Set db = CurrentDb
For Each tdf In db.TableDefs
If tdf.Attributes = 1073741824 Then tdf.Attributes = 1
Next
db.Close
Set tdf = Nothing
Set db = Nothing

 

  • Like 4
  • Thanks 3
قام بنشر
  في 19‏/6‏/2019 at 16:42, ابوخليل said:

شكرا لك على المعلومة النادرة المهمة ،  كتب الله اجرك ،،،

Expand  

نبقى تلامذة لكم استاذي الكريم

ونحاول بكل ما نستطيع رد ولو جزأ يسير مما استفدناه من هذا المنتدى المميز

ولو بمعلومه بسيطه

  • Like 1
قام بنشر

كلام ما يجي إلا من خبير 🙂

 

شكرا لك اخي كاسر على المعلومة ، والتحقيق ، والاهم انك تذكرت اني حذرتكم :biggrin2:

 

جعفر

  • Like 1
قام بنشر
  في 19‏/6‏/2019 at 12:33, kaser906 said:

وهذا هو الكود

Dim db As DAO.Database
Dim tdf As TableDef
Set db = CurrentDb
For Each tdf In db.TableDefs
If tdf.Attributes = 1073741824 Then tdf.Attributes = 1
Next
db.Close
Set tdf = Nothing
Set db = Nothing

 

Expand  

في تقديري أن هذه المقطوعة من الشفرة ناقصة!

وعند مراجعتي _على عجل_ للمشاركات المتعلقة بالموضوع وجدت أنها تفتقر إلى الطريقة الصحيحة للطبيق!

 

  • Like 2
  • Confused 1
قام بنشر
  في 19‏/6‏/2019 at 18:23, jjafferr said:

شكرا لك اخي كاسر على المعلومة ، والتحقيق ، والاهم انك تذكرت اني حذرتكم :biggrin2:

Expand  

على راسي استاذ

بعض الكلمات من بعض الاشخاص لا تنسى

  في 19‏/6‏/2019 at 23:58, أبو إبراهيم الغامدي said:

في تقديري أن هذه المقطوعة من الشفرة ناقصة!

Expand  

مرحبا استاذنا

ممكن تكمل النقص اللي بالكود لأجرب ان كان سينهي المشكلة

  في 19‏/6‏/2019 at 23:58, أبو إبراهيم الغامدي said:

وعند مراجعتي _على عجل_ للمشاركات المتعلقة بالموضوع وجدت أنها تفتقر إلى الطريقة الصحيحة للطبيق

Expand  

ياليت تشرح الطريقة ونكون لك من الشاكرين

 

ملاحظة :

حبيت اضيف على الكلام اللي ذكرته

انه  بعد الغاء الكود وتعديل الحقل بالجدول فستعمل القاعدة لكن المشكلة لن تنتهي

ستبقى الرسالة تظهر

والحل يكون بعمل قاعدة جديدة واستيراد جميع الكائنات اليها

قام بنشر

أهلا @kaser906

للأسف ما لا يعرفه الكثير أن أكسس يستعمل خصيصة الإخفاء للإشارة إلى الجداول الموقتة! وما المشكلة في ذلك؟!

المشكلة أن أكسس يقوم بحذف بيانات هذه الجداول عند الضغط والإصلاح..

  • Like 1
قام بنشر
  في 20‏/6‏/2019 at 18:08, أبو إبراهيم الغامدي said:

أهلا @kaser906

للأسف ما لا يعرفه الكثير أن أكسس يستعمل خصيصة الإخفاء للإشارة إلى الجداول الموقتة! وما المشكلة في ذلك؟!

المشكلة أن أكسس يقوم بحذف بيانات هذه الجداول عند الضغط والإصلاح..

Expand  

سبحان الله

انا استعمل اخفاء جميع الكائنات بما فيهم الجداول من حوالى سنتين
واستخدم من ان لاخر الضغط و الاصلاح دون اى مشاكل نهائيا لا مثل التى تطرق اليها اخونا @kaser906

ولا حتى اكسس قام بحذف بيانات هذه الجداول على انها جداول مؤقته

والله اكثر من سنتين قاعدة بيانات حضور وانصراف واجازات وتحديد اسماء المستمرين بالعمل وطباعة الوجبات وطباعة تقارير الحضور والتاخير والغياب والمستمرين بالعمل و....... كثيرررررررر غير ذلك
القاعدة تستخدم يوميا من الساعة  6  صباحا الى الساعه 3 مساءا واحيانا اكثر من ذلك

قام بنشر

أهلا @ابا جودى

من المفترض أن قاعدة البيانات الخلفية هي التي يطبق عليها الضغط والإصلاح! لا القاعدة الأمامية! وفي تقديري هذا ما تفعله أنت! 

 

أرجو الرجوع إلى ملف تعليمات أكسس لمعرفة القيم التي يمكن استخدامها لهذه الخصيصة

قام بنشر
  في 20‏/6‏/2019 at 18:48, أبو إبراهيم الغامدي said:

أهلا @ابا جودى

من المفترض أن قاعدة البيانات الخلفية هي التي يطبق عليها الضغط والإصلاح! لا القاعدة الأمامية! وفي تقديري هذا ما تفعله أنت! 

 

Expand  

فى الغالب نعم

لكن احيانا اقوم بعمل الضغط والاصلاح لكل من القاعدتين الامامية والخلفية

ربما قد يكون اختلاف أصدارات  الاوفيس لها عامل والله اعلم

فى العمل هناك اجهزة تعمل من 2007 الى 2019        لكن كلهم بالنواة 32 بيت

واكثر من حوالى 300 حساب قد يرتبط بالقاعدة ولكم فى الغالب دائما لا يقل عن من 5 : 8  حواسيب يعملون بصفة دائمة وابدا

وتقريبا عمر استخدامى لكود اخفاء الجداول المرتبطة  تقريبا من عمر هذه المشاركة  قام بنشر مارس 9, 2015

قام بنشر
  في 20‏/6‏/2019 at 18:58, أبو إبراهيم الغامدي said:

أستاذ جعفر.. بل أتفق معك أنت!

Expand  

طبعا فى المقام الاول والاخير انا لا اعارض رأى اساتذتى العظماء

ولكن انا انقل تجربتى الشخصية فقط

  • Like 1
قام بنشر
*** Warning!***
With older versions of JET there is a bug where running  compact on a database 
would delete tables marked hidden with this method. 
It has been fixed in later versions. 
It is very important that you test to see if this works with your version of JET.

يعنى لن تكون المشكلة موجودة فى الاصدارات المحدثة لذلك انا انصح دائما بالبحث عما اذا كان هناك تحديث للاوفيس 
وبما انه تم حل المشكلة فى الاصدارات الحديثة

 اذن  ليست المشكلة عامة فى كل الاصدارات

قام بنشر
  في 20‏/6‏/2019 at 20:08, ابا جودى said:

It is very important that you test to see if this works with your version of JET.

Expand  

لضمان هذه الإشكالية من الوقوع؛ أن نقوم بإعادة الجداول إلى الوضع المعتاد قبل ضغط البيانات وإصلاحها..

 

  • Like 2
قام بنشر
  في 20‏/6‏/2019 at 18:22, jjafferr said:

وهذه هي المشاركة اللي اشار لها اخي كاسر ،

Expand  

شكرا لك استاذي للإشارة للموضوع

 

  في 20‏/6‏/2019 at 18:48, أبو إبراهيم الغامدي said:

من المفترض أن قاعدة البيانات الخلفية هي التي يطبق عليها الضغط والإصلاح! لا القاعدة الأمامية! وفي تقديري هذا ما تفعله أنت!

Expand  

استاذي الكريم

احياناً نحتاج الى ان نقوم بعملية ضغط واصلاح لقاعدة البيانات الامامية

بسبب اننا نضع  جداول مؤقته(( هذه ايضاً يحذرنا منها استاذنا @jjafferr ))نرحل اليها بعض السجلات وبعد انتهاء

المهمة نقوم بحذفها

اساس المشكلة ليست بالضغط والاصلاح المشكلة في اخفاء الجداول واعادة الاتصال بها مرة اخرى بعد تغيير المسار

ومع حقل محدد من نوع مربع تحرير وسرد يقبل عدة قيم

  في 20‏/6‏/2019 at 20:08, ابا جودى said:

يعنى لن تكون المشكلة موجودة فى الاصدارات المحدثة لذلك انا انصح دائما بالبحث عما اذا كان هناك تحديث للاوفيس 
وبما انه تم حل المشكلة فى الاصدارات الحديثة

Expand  

 

جربت على اصدار 2016 أخر نسخه وأخر تحديث  على نظام وندوز ثاني غير اللي انا اشتغل عليه وظهرت نفس المشكلة

 

1.png.b2a08dcabd7a18a6aa889a772c0adc60.png

2.png.16bc2ea7e0c2eefa529e6b27fd1dee0d.png

 

قمت بعمل مثال يمكنكم التجربه عليه باتباع الخطوات التالية

الجداول المرتبطه بالقاعدة الامامية غير مخفية

قم  بالخطوات التالية لترى المشكلة

بعد فك الضغط عن الملف

1- افتح قاعدة البيانات الواجهة Hide_linked_tables

2- اعد ربط الجداول بقاعدة البيانات الخلفية

الان اعمل ضغط واصلاح او تحويل قاعدة البيانات الى Accde

ستجد ان اعملية تتم بدون مشاكل

الان قم بالخطوات التالية

1- قم باخفاء الجداول المرتبطة من خلال النموذج frm_htbl

2- اغلق قاعدة البيانات الواجهة

3- قم بتغير مسار قاعدة البيانات الخلفية

4- افتح قاعدة البيانات الواجهة وأظهر الجداول من خلال النموذج

افتح أي جدول سيظهر لك رسالة ان مسار قاعدة البيانات غير موجود

اعد ربط الجداول مرة أخرى ثم افتح الجدول سيعمل بدون مشاكل

الان حاول القيام بعملية اضغط واصلاح او تحويل لقاعدة البيانات الى Accde

ستجد ان المشكلة ظهرت من خلال الرسالة

 

hidtbl.rarFetching info...

  • Like 1
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information