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

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

قام بنشر

اخوتي الكرام

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

قابلتني مشكلة لم استطع التغلب عليها

شرح لما قمت بعمله :

- تهيئة ثلاث حاسبات بشبكة داخلية " لا يوجد انترنت"

- وضعت قاعدة الجداول على حاسب لوحدها

- وزعت الواجهات على الحاسبين الآخرين علما ان كل واجهة تتعامل مع نماذج وجداول تختلف عن الاخرى .

الاحتياطات :

- عدلت في خيارات قاعدة الجداول الى :

مشترك

وسجل محرر

- اسم بيانات ورقة فرعية الى : بلا

- عدلت جميع نماذج الواجهات الى سجل محرر

عند فتح البرنامج من احد الحاسبات فالنتيجة ممتازة

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

البرنامج عمل على اصدار 2003

والحاسبات تحمل الاصدار 2007

Windows xp والاجهزة حديثة وسريعة

نرجو ممن مر بهذه المشكلة ثم وجد مخرجا منها افادتنا مشكورا مأجورا

قام بنشر

الاستاذ ابو خليل السلام عليكم

لدي عدة أسئلة قد تكون خارج الموضوع ولكن دعني اعرف لماذا اخترت سجل محرر إذا كانت كل واجهة تعمل مع جدول مختلف لماذا لم تتركها الى بلا تامين؟

ثانياً هل تأكدت من قيم إعادة تحديث DDE والفاصل الزمني ؟ فلو صغرت القيم تطلب تحديث سريع متكرر يؤدي للبطء ولو كبرت القيم أدى الى تجاهل عمليات التحديث وهذه القيم لاتعني شيء في الاستخدام المحلي لكنها تعني الكثير في الاستخدام المشترك عبر الشبكات

ثالثاً هل الشبكة تعمل بجودة عالية خاصة وان كروت الشبكات اللاسلكية الصينية بها الكثير من المشاكل وتظهر عند هذه الحالات التي تتطلب نفل حزم أكبر من البيانات.

اعذرتي لو حلقت خارج الموضوع فربما محاولة الإجابة على اسئلتي تفتح لك أفاق للحل.

قام بنشر

اهلا بك اخي محمد معينا فشكر الله لك

لولاحظت اخي اني اعمل على جهازين فقط والثالث كخادم

وربما رأيت زيادة الايضاح والنقاط حتى ابين محاولاتي التي تكللت بالفشل

لماذا اخترت

سجل محرر

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

هل تأكدت من قيم إعادة تحديث DDE

لا لم اتعرض لها

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

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

قف عند هذه النقطة ! كيف لي ان اعرف ؟

الاجهزة حديثة مصنعية من شركة ايسر وليست تجميع محلي

وكرت ىالشاشة يحمل هذا الاسم

intel® 82579v gigabit

العجيب عند البتشغيل الاول يكون سريع جدا وهذا الذي يجعلني اتهم قاعدة البيانات

لم ادع بابا الا وحاولت طرقه

قام بنشر

هلا بك اخوي احمد

استخدم هذه الدوال غالبا في الاستعلامات ونماذج البداية لا تستند الى استعلامات

ولكن معنى كلامك ان المشكلة في الواجهات ؟

لكن لماذا الاول يشتغل زي البرق ولما اشغل الثاني يصاب بغيبوبة

ذكرت شيئا ! الواجهتان يتم تطبيق وحدة نمطية عليهما لتحسين اطراف النموذج ،

ما زلت متهما للقاعدة الخلفية ، ومحاولاتكم ايجاد الحلول دليل على برائتها

ومع ذلك سأقوم بازالتة الوحدة النمطية من باب التجربة

قام بنشر

ولكن معنى كلامك ان المشكلة في الواجهات ؟

نعم ممكن وهي اغلب مشاكل بطء قواعد البيانات

هناك امور اخرى يجب مراعتها

ماهو طول اسم قاعده البيانات (back end)?? ماهو مستوى موقع القاعده ؟ هل هي بداخل اكثر من مجلد فرعي؟؟

كذلك ، برنامج مكافحه الفيروسات له علاقه بالموضوع ، قم باستثناء مجلد قاعده البيانات من مسح برنامج مضاد الفيروسات

كذلك ، ماهو نموذج بداء التشغيل ؟؟ هل هو فورم بدون مصدر بيانات ؟؟ اي فورم يوجد به ازرار لفتح نماذج اخرى بدون اي مصدر للبيانات؟؟ لا بد من وضع نموذج مخفي يعمل بالخفى عند تشغيل الواجهه ويكون يعمل طول الوقت و يوجد لديه مصدر للبيانات.

قام بنشر

هذا حل وجدته باحد المواقع عن طريقه فتح اتصال مع قاعده البيانات الخلفيه لتسريع الاتصال

قم بانشاء الوحده النمطية التالية


Sub OpenAllDatabases(pfInit As Boolean)

  ' Open a handle to all databases and keep it open during the entire time the application runs.

  ' Params  : pfInit   TRUE to initialize (call when application starts)

  '				    FALSE to close (call when application ends)

  ' Source  : Total Visual SourceBook

  Dim x As Integer

  Dim strName As String

  Dim strMsg As String


  ' Maximum number of back end databases to link

  Const cintMaxDatabases As Integer = 2

  ' List of databases kept in a static array so we can close them later

  Static dbsOpen() As DAO.Database


  If pfInit Then

    ReDim dbsOpen(1 To cintMaxDatabases)

    For x = 1 To cintMaxDatabases

	  ' Specify your back end databases

	  Select Case x

	    Case 1:

		  strName = "C:\Users\Guest\Documents\Backend1.accdb"

	  End Select

	  strMsg = ""

	  On Error Resume Next

	  Set dbsOpen(x) = OpenDatabase(strName)

	  If Err.Number > 0 Then

	    strMsg = "Trouble opening database: " & strName & vbCrLf & _

				 "Make sure the drive is available." & vbCrLf & _

				 "Error: " & Err.Description & " (" & Err.Number & ")"

	  End If

	  On Error GoTo 0

	  If strMsg <> "" Then

	    MsgBox strMsg

	    Exit For

	  End If

    Next x

  Else

    On Error Resume Next

    For x = 1 To cintMaxDatabases

	  dbsOpen(x).Close

    Next x

  End If

End Sub

مع تعديل مسار القاعده الخلفيه في الكود ثانيافي نموذج الرئيسي في الواجهه الاماميه(الموجوده على اجهزه المستخدمين) وفي حدث عند التحميل او onload قم باستدعى الوحده النمطية كاتالي

OpenAllDatabases True

وفي حدث عند الاغلاق للنموذج ضع الكود التالي

OpenAllDatabases False

مع العلم انه يجب تشغل هذا النموذج طول الوقت مادم المستخدم يعمل على القاعده الامامية

  • Like 1
قام بنشر
نعم ممكن وهي اغلب مشاكل بطء قواعد البيانات

صدنــــــــــــــــــــــــــــــــــــــــــــاه لله درك

بالضبط الوحدة النمطية المذكورة اعلاه

حيث ليس لي خبرة في الشبكات وتعدد القواعد حدي وحده وبس :yes:

وازيدكم من الشعر بيت :

يشتمل النموذجان ايضا على وحدة نمطية لتلمس مسار الجداول

وهذه ايضا بعد النظر كما نبه ابو ادم سنحيلها للتقاعد ( الربط سيتم يدويا )

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

جزاكم الله خيرا واجزل لكم المثوبة

قام بنشر

مشكور اخوي احمد يبدو اننا توافقنا في توقيت المشاركتين السابقتين

اكرر شكر لك وسأحتفظ بما اتحفتني به للنوائب

قام بنشر

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

قف عند هذه النقطة ! كيف لي ان اعرف ؟

الاجهزة حديثة مصنعية من شركة ايسر وليست تجميع محلي

وكرت ىالشاشة يحمل هذا الاسم

intel® 82579v gigabit

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

العجيب عند البتشغيل الاول يكون سريع جدا وهذا الذي يجعلني اتهم قاعدة البيانات

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

واسمح لي تلخيص ملاحظات اساتذتنا الكرام في النقاط التالية:

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

مشكلة محددة في تصميم النموذج البطيء او في الجدول او الاستعلام الذي يستند اليه.

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

قام بنشر

اخي محمد السوداني

لا نحذف الفوائد والمعلومات القيمة وخلاصات التجارب ... لا بل ونقدر اصحابها

كل فائدة لدينا من ( حصى الجبل ) تزيد بفضل الله مما لدينا ولديكم

وصول ردّك بعد ردودنا لا يقلل من اهمية ردّك

وحياك الله

...............

قام بنشر

تحية للجميع

اخي ابو خليل رغم انك وجدت الحل الا اني املك بعض التساؤلات

هل تحدث نفس المشكلة اذا عكست العملية ( اي اذا فتحت النموذج من الجهاز الجهاز الثاني اولا ثم فتحت من الجهاز الاول )

هل الاي بي يدوي ام تلقائي ؟؟

اكثر المشاكل تحدث بسبب الاي بي و بالاخص عند وضعه ( تلقائي ) حيث يتغير في كل مرة يتم فيها تشغيل ويندوز و احيانا لا يتم اعطاء اي بي لنفس الشبكة و هذا يسبب بطئ شديد

اخي bluemaind

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

قام بنشر
]هل الاي بي يدوي ام تلقائي ؟؟

الجواب : يدوي

]هل تحدث نفس المشكلة اذا عكست العملية ( اي اذا فتحت النموذج من الجهاز الجهاز الثاني اولا ثم فتحت من الجهاز الاول )

نعم تحدث

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

من هنا : http://www.officena.net/ib/index.php?showtopic=43374

قام بنشر

اخي bluemaind

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

اخوي محمد

كما ذكرت في مشاركتي السابقه

هذهالوحده وجدتها في احد المواقع الاجنبيه ولم اقم بتصميمها

ثانيا

ماعليك فقط الا تعديل مسار القاعده الخلفيه او قاعده الجداول الموجوده على السرفر

انظر هذا السطر في الوحده النمطيه


strName = "C:\Users\Guest\Documents\Backend1.accdb"

ثم

في النموذج الرئيسي في الواجهه الاماميه(الموجوده على اجهزه المستخدمين) وفي حدث عند التحميل او onload

قم باستدعى الوحده النمطية كاتالي

OpenAllDatabases True

وفي حدث عند الاغلاق للنموذج ضع الكود التالي

OpenAllDatabases False

مع العلم انه يجب تشغل هذا النموذج طول الوقت مادم المستخدم يعمل على القاعده الامامية

بالتوفيق

  • 5 years later...
قام بنشر
في ٢٧‏/٩‏/٢٠١٢ at 12:05, Bluemind said:

ماعليك فقط الا تعديل مسار القاعده الخلفيه او قاعده الجداول الموجوده على السرفر

انظر هذا السطر في الوحده النمطيه

 

 

strName = "C:\Users\Guest\Documents\Backend1.accdb"

بارك الله فيكم وجزاكم الله خير 

شكرا لكم جميعا 

الحقيقه موضوع ف يغاية الاهمية

لدي سؤال 

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

ويتم استدعاء المسار من الجدول داخل الوحده النمطيه 

لان بعض الاحيان يصعب تثبيت المسار داخل الوحدة النمطيه 

بسبب تغيير اسم السيرفر 

كيف تكون الطريقه لمثل هذا الامر

احترامي وتقديري

 

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