gs7581 قام بنشر فبراير 13, 2005 قام بنشر فبراير 13, 2005 السلام عليكم عندي قاعدة بيانات و تعمل في صيدلية و وصل عدد السجلات في فاتورة البيع فقط الي اكثر من 26000 سجل و عند استدعاء كشوفات الحساب الخاصة بالعملاء او الاصناف يتم في بطء شديد حتي لو عملت ضغط و اصلاح لقاعدة البيانات و لا اعرف ما السبب او ما يجب عملة الجزء الثاني من سؤالي هو ظهور رسالة خطأ عند العمل بالبرنامج و تظهر في جميع سجلات النموزج الموجود بدون سبب و احيانا تظهر رسالة تقول ان محرك jet engine قام بوقف العملية نظرا لوجود اخطاء وغير قادر علي اتمامها ارجو الرد علي الاستفسارات و شكرا
ابوفيصل قام بنشر فبراير 13, 2005 قام بنشر فبراير 13, 2005 انا اشوف لو تحوله الى SQL بما ان الشجلات بهذا العدد وقابله للزياده اسئل الخبراء عن عملية التحويل . تحياتي
الدكتور خضر الرجبي قام بنشر فبراير 13, 2005 قام بنشر فبراير 13, 2005 السلام عليكم اخي gs7581 (من طرق التسريع) بالاضافة لاقتراح اخي ابو فيصل يمكن عمل ما يلي: اذا احببت تسريع القاعدة يوجد عدة طرق واحداها استخدام جملة BeginTrans والتي تنتهي بجملة CommitTrans لتأكيد الحركات أو Rollback للتراجع. هذا الموضوع يشرح مثالا تم تسريعه 17 ضعفا هنا يوجد شرح لتسريع التقارير والاستعلامات وهذا المقال يشير الى ان اعادة التجزئة للهارد ديسك بشكل دوري يسرع القاعدة ايضا مع الاحترام
فتى الوادي قام بنشر فبراير 13, 2005 قام بنشر فبراير 13, 2005 السلام عليكم ........ ممكن نصلح لك القاعدة ... إذا أنت في الرياض أتصل على المهندس : 0505116119
gs7581 قام بنشر فبراير 13, 2005 الكاتب قام بنشر فبراير 13, 2005 الأخ الفاضل خضر الرجبي لو كان ممكن حلول اخري باللغة العربية مع الشكر
gs7581 قام بنشر فبراير 13, 2005 الكاتب قام بنشر فبراير 13, 2005 ردا علي اقتراح الاخ فتي الوادي فأنا اشكرة بشدة علي استعدادة لاصلاح قاعدة البيانات و لكن اخبرة انني من مصر و ليس من المملكة العربية السعودية و طلب اخير اين تكتب جمل begin trans و غيرها وكيف يتم التحويل الي SQL و شكرا
امير عاطف قام بنشر فبراير 13, 2005 قام بنشر فبراير 13, 2005 عدد 26000 سجل يمكن أن يتحمله الأكسس وعشر اضعافه اذا اردت اعتقد أن امكانات الجهاز نفسه لها عامل كبير .. تأكد من رامات الجهاز وسرعة البروسيسور واهم شيء يؤثر على ذلك هو كاشات البروسيسور
gs7581 قام بنشر فبراير 14, 2005 الكاتب قام بنشر فبراير 14, 2005 اشكر الاخ امير عاطف علي تجاوبة البروسيسور علي الجهاز 128/1.7 فهل هو غير مناسب للقاعدة ام لا و شكرا :(
الدكتور خضر الرجبي قام بنشر فبراير 17, 2005 قام بنشر فبراير 17, 2005 السلام عليكم أخي gs7581 ، حياك الله من الصعب علي ترجمة كل شيء ، ولكن على الاقل أود أن انصحك ابتداءً أن تقوم بإعادة التجزئة على الهارد ديسك الذي فيه القاعدة وأنا شبه متأكد أن مشكلة السرعة سوف تحل وإليك الخطوات وهي بسيطة جدا: والخطوة الثانية بعدما يفتح البرنامج هي مع ملاحظة أن هذه العملية تأخذ وقت طويل فأرجو عملها بعد انتهاء عملك على الحاسوب في الليل مثلا ويجب عدم استخدام الحاسوب خلال تنقيذ هذه العملية. أتمنى أن تحل المشكلة ، والا سنتابعها بطريقة اخرى ان شاء الله. اجمالا، الجهاز الذي لديك حسب المواصفات المذكورة يعتبر سريع نسبيا ويفضل أيضا وجود ذاكرة RAM فيه لا تقل عن 512KB . مع الاحترام
امير عاطف قام بنشر فبراير 17, 2005 قام بنشر فبراير 17, 2005 طبعاً بروسيسور 1.7 كاش 128 لا يساعد على الإسترجاع بسرعة .. حيث كان لي تجربه مع قاعدة بيانات كبيره على نفس امكانات البروسيسور السابق وكانة بطيئه نوعا ما في استرجاع البيانات ... وعندما قمت بتجربة قاعدة البيانات على بروسيسور بينتيوم 3 كاش 512 كان ادائه احسن بالطبع ايضاً على بروسيسور 2.4 كاش 256 وكاش 512 الأداء كان افضل وكلما زادت الرامات كان افضل وافضل على وجه العمود امكانات البروسيسور لديك لها عامل كبير على بطء القاعدة
gs7581 قام بنشر فبراير 17, 2005 الكاتب قام بنشر فبراير 17, 2005 اشكر الأخوة الأفاضل علي الرد و التجاوب مع المشكلة و ايجاد الحلول لها بالنسبة للاقتراح الخاص ب defragmentation فسأجربة ان شاء الله وسأكتب الرد اماالااقتراح الخاص بالبروسيسور فسأحاول تجربة البرنامج علي جهاز آخر بة كاش اعلي واكرر شكري لاعضاء المنتدي المبارك
النبهاني قام بنشر فبراير 18, 2005 قام بنشر فبراير 18, 2005 السلام عليكم ورحمه الله وبركاته اخي العزيز ان برنامج اكسس مصمم لبناء قواعد بيانات شخصيه او صغيرة ولا يستطيع تحمل اكثر من مليون سجل في الجدول الواحد كما تقول مايكروسوفت اضف الى ذلك ان العدد الاقصى من الجداول هو 32 فقط في القاعدة الواحده والحجم الاقصى قاعدة البيانات هو 2 جيجا بايت فقط ،، وهناك الكثير .. لذلك وكما قال جميع الاخوة من قبلي يفضل لك ان تحول قاعدة البيانات الى SQL أو ان تستخدم قواعد بيانات Oracle ولكن التحويل الى SQL أسهل وأفضل في كل الأحيان .... تقبل تحياتي اخي العزيز
gs7581 قام بنشر فبراير 19, 2005 الكاتب قام بنشر فبراير 19, 2005 السلام عليكم قمت بمطالعة موقع شركة ميكروسوفت الموجود في تعقيب الاخ خضر الرجبي الخاص بعمل جملة begin trans لتسريع قاعدة البيانات و عملت البرنامج المطلوب و لكن تظهر لي رسالة خطأ عند تشغيل البرنامج تقول user defined function not defined عند السط Dim db As Database و لا اعرف السبب ارجو مراجعة الكود و المساعدة Private Sub Form_Load () Dim Starttime, Endtime Dim db As Database Dim t As RecordSet Dim i As Integer Dim tempName As String Dim temphone As String Set db = Workspace(0).OpenDatabase("c:\vb\BIBLIO.MDB") ' Uses a ' copy of BIBLIO.MDB. Set t = db.OpenRecordSet("Publishers", dbOpenTable) Starttime = Now 'BeginTrans ' Add this and CommitTrans (below) for greater speed. For i = 1 To 100 tempName = "testname" & Str$(i) ' Make an arbitrary unique ' string. tempPhone = Str$(i) ' Make arbitrary number. t.AddNew ' AddNew clears copy buffer to prepare for new record. t!PubID = 30 + i ' Set primary key to unique value. t!Name = tempName ' Set Name field to unique value. t!Telephone = tempPhone ' Set Telephone field to unique value. t.Update ' Write the record to disk or to transaction buffer. Next i 'CommitTrans ' Add this and BeginTrans (above) for greater speed. Endtime = Now MsgBox "Time required= " & Format(Endtime - Starttime, "hh:mm:ss") t.Close db.Close End End Sub
الدكتور خضر الرجبي قام بنشر فبراير 19, 2005 قام بنشر فبراير 19, 2005 (معدل) السلام عليكم اخي gs7581 ، بارك الله فيك خطوتين وتحل المشكلة ان شاء الله وهي : وبالمناسبة ، ما هي نتيجة اعادة التجزئة ، ارجو اعلامي ، وبالتوفيق . مع الاحترام تم تعديل فبراير 19, 2005 بواسطه خضر الرجبي
gs7581 قام بنشر فبراير 19, 2005 الكاتب قام بنشر فبراير 19, 2005 شكرا اخي خضر الرجبي علي اهتمامك الشديد بمساعدة اعضاء المنتدي و قدكتب ردا بالامس و لكن لم يتم تحميلة و لا اعرف السبب و قد عملت اعادة تجزئة وتحسن اداء القاعدة نوعا ما اما بالنسبة لردك الجميل اليوم فحاولت عملة و لكن هناك عدد2 refrences OLE Automotion Microsoft access 11.0 object library علما بأني استخدم فيجوال بيزك من نسخة Visual studio 6 و يتوقف الكود عند السطر Set db = Workspace(0).OpenDatabase ارجو الافادة و شكرا
gs7581 قام بنشر فبراير 19, 2005 الكاتب قام بنشر فبراير 19, 2005 السلام عليكم اتمني لو اي احد من الاخوة الاعضاء عندة المراجع الناقصة فليلحقها بالموضوع وشكرا أخيكم د/ جابر الشيمي
الدكتور خضر الرجبي قام بنشر فبراير 20, 2005 قام بنشر فبراير 20, 2005 (معدل) السلام عليكم اخي الدكتور جابر الشيمي ، بارك الله فيك المراجع التي لم تجدها هي ليست ناقصة فقط غير محددة ، اذا بحثت عنها في الاسفل ستجدها، فقط ضع عليها اشارة صح وهي ترتفع للأعلى لوحدها. مع الاحترام تم تعديل فبراير 20, 2005 بواسطه خضر الرجبي
gs7581 قام بنشر فبراير 20, 2005 الكاتب قام بنشر فبراير 20, 2005 اخي الفاضل خضر الرجبي لم اجد المرجع التالي microsoft access 11.0 object library ولكن وجدت المرجع التالي microsoft access 10.0 object library و لكن لم يعمل البرنامج ايضا والكود بعد كتابتة هو : Private Sub Form_Load() Dim Starttime, Endtime Dim db As Database Dim t As Recordset Dim i As Integer Dim tempName As String Dim temphone As String Set db = Workspace(0).OpenDatabase("i:\gaber\gs.MDB") ' Uses a ' copy of BIBLIO.MDB. Set t = db.OpenRecordset("employee", dbOpenTable) Starttime = Now 'BeginTrans ' Add this and CommitTrans (below) for greater speed. For i = 1 To 100 tempName = "testname" & Str$(i) ' Make an arbitrary unique ' string. tempPhone = Str$(i) ' Make arbitrary number. t.AddNew ' AddNew clears copy buffer to prepare for new record. t!PubID = 30 + i ' Set primary key to unique value. t!Name = tempName ' Set Name field to unique value. t!Telephone = tempPhone ' Set Telephone field to unique value. t.Update ' Write the record to disk or to transaction buffer. Next i 'CommitTrans ' Add this and BeginTrans (above) for greater speed. Endtime = Now MsgBox "Time required= " & Format(Endtime - Starttime, "hh:mm:ss") t.Close db.Close End End Sub واتمني لو اتعبتك قليلا وعملت البرنامج عندك علي نفس موقع قاعدة البيانات الموجود بالكود و ارسلتة لي في صورة EXE و تقبل تحياتي
الدكتور خضر الرجبي قام بنشر فبراير 21, 2005 قام بنشر فبراير 21, 2005 السلام عليكم اخي الدكتور جابر الشيمي ، بارك الله فيك لم استطيع القيام بما تطلب مني ، لانك في برنامجك ترجع للقاعدة وهي ليست متوفرة لدي Set db = Workspace(0).OpenDatabase("i:\gaber\gs.MDB") بالنسبة للمراجع فجيد أنك وجدتها وحتى المرجع (microsoft access 10.0 object library) يجب أن يعمل، ولكني أود التنويه مرة اخرى الى أن ترتيبها أيضا مهم لكي يعمل البرنامج بالشكل الصحيح راجع الترتيب اعلاه (في التعقيبات السابقة) وتأكد أنه نفس الترتيب الذي عندك وان لم يكن فاستخدم الاسهم بجانب Priorty (الاولوية) للترتيب الصحيح. اتمنى أن ينجح الامر وان لم ينجح فارجو اعلامي . مع الاحترام
الدكتور خضر الرجبي قام بنشر مارس 16, 2005 قام بنشر مارس 16, 2005 المواضيع المشابهة 1) 13/02/2005 قاعدة البيانات بطيئة 2) 31/12/2004 2 غيغا بايت حجم الاكسس 3) 01/12/2004 المساعده في حجم الملف 4) 19/02/2004 رسالة (تجاوز السعة) ؟؟ ما سببها و ما حلها؟
الردود الموصى بها