qathi قام بنشر نوفمبر 21, 2019 قام بنشر نوفمبر 21, 2019 أخواني وأساتذتي الأفاضل .. هل يوجد كود تحت زر يقوم بأعادة تشغيل ملف أكسس الحالي ؟؟؟
أفضل إجابة sandanet قام بنشر نوفمبر 21, 2019 أفضل إجابة قام بنشر نوفمبر 21, 2019 (معدل) اخي @qathi تفضل DatabaseRestartV1.2.accdb DatabaseRestartV1.2.mdb المصدر : http://blog.nkadesign.com/2008/05/06/ms-access-restarting-the-database-programmatically/ تم تعديل نوفمبر 21, 2019 بواسطه sandanet 7 1
qathi قام بنشر نوفمبر 23, 2019 الكاتب قام بنشر نوفمبر 23, 2019 أشكرك أستاذي @sandanet على هذا المثال .. هكذا تعودتنا بعطائك وخيرك الذي لا ينقطع بارك الله فيك .. وجزاك الله عني خير 1
qathi قام بنشر نوفمبر 26, 2019 الكاتب قام بنشر نوفمبر 26, 2019 أستاذي الغالي @sandanet أعود لك من جديد .. بعد تجربة الكود كثيرا قمت بوضع كود اعادة التشغيل بعد كود الضغط واصلاح فلم يعمل واذا كان غير ذلك فانه يعمل 'كود الضغط واصلاح Application.SetOption "Auto compact", True 'كود اعادة تشغيل البرنامج Utilities.Restart Compact:=Nz(ckCompact, False) فما حل المشكلة ؟؟؟
sandanet قام بنشر نوفمبر 26, 2019 قام بنشر نوفمبر 26, 2019 38 دقائق مضت, qathi said: قمت بوضع كود اعادة التشغيل بعد كود الضغط واصلاح فلم يعمل واذا كان غير ذلك فانه يعمل تفضل المرفق بعد التعديل DatabaseRestartV1.2.accdb
qathi قام بنشر نوفمبر 26, 2019 الكاتب قام بنشر نوفمبر 26, 2019 6 ساعات مضت, sandanet said: تفضل المرفق بعد التعديل DatabaseRestartV1.2.accdb 368 kB · 2 تنزيلات أشكرك أستاذي الغالي @sandanet على ردك .. بارك الله فيك بعد تجربة الملف الاخير .. مازلت المشكلة قائمة
sandanet قام بنشر نوفمبر 26, 2019 قام بنشر نوفمبر 26, 2019 4 ساعات مضت, qathi said: بعد تجربة الملف الاخير .. مازلت المشكلة قائمة اخي الكريم الذي قمت به هو كالتالي .. قمت باستعمال الكود التالي تحت زر أمر اعادة التشغيل Application.SetOption "Auto compact", True Utilities.Restart مع إزالة الكود التالي Utilities.Restart Compact:=Nz(ckCompact, False) وكذلك قمت بإزالة الكود التالي من الوحدة النمطية If Compact Then End If مع الابقاء على الكود التالي الذي هو بداخل عبارة الـ if السابقة s = s & """%~f1"" ""%~f2.%3"" /compact" & vbCrLf الملف تمت تجربته وهو يعمل إعادة تشغيل مع الضغط والاصلاح تلقائياً بدون اي مشاكل على اوفيس 2007 تحياتي DatabaseRestartV1.2.accdb 2
ابو ياسين المشولي قام بنشر نوفمبر 27, 2019 قام بنشر نوفمبر 27, 2019 بعد اذن اخي sandanet بعد الفحص والتمعن وجدت التالي هذاة الوحده النمطيه Option Explicit Private Const TIMEOUT = 60 Public Sub Restart(Optional Compact As Boolean = True) Dim scriptpath As String scriptpath = Application.CurrentProject.FullName & ".dbrestart.bat" If Dir(scriptpath, vbNormal) <> "" Then If DateAdd("s", TIMEOUT * 2, FileDateTime(scriptpath)) < Date Then Kill scriptpath Else Application.Quit acQuitSaveAll Exit Sub End If End If Dim s As String s = s & "SETLOCAL ENABLEDELAYEDEXPANSION" & vbCrLf s = s & "SET /a counter=0" & vbCrLf s = s & ":CHECKLOCKFILE" & vbCrLf s = s & "ping 0.0.0.255 -n 1 -w 100 > nul" & vbCrLf s = s & "SET /a counter+=1" & vbCrLf s = s & "IF ""!counter!""==""" & TIMEOUT & """ GOTO CLEANUP" & vbCrLf s = s & "IF EXIST ""%~f2.%4"" GOTO CHECKLOCKFILE" & vbCrLf If Compact Then s = s & """%~f1"" ""%~f2.%3"" /compact" & vbCrLf End If s = s & "start "" "" ""%~f2.%3""" & vbCrLf s = s & ":CLEANUP" & vbCrLf s = s & "del %0" Dim intFile As Integer intFile = FreeFile() Open scriptpath For Output As #intFile Print #intFile, s Close #intFile Dim dbname As String, ext As String, lockext As String, accesspath As String Dim idx As Integer accesspath = SysCmd(acSysCmdAccessDir) & "msaccess.exe" For idx = Len(CurrentProject.FullName) To 1 Step -1 If Mid(CurrentProject.FullName, idx, 1) = "." Then Exit For Next idx dbname = left(CurrentProject.FullName, idx - 1) ext = Mid(CurrentProject.FullName, idx + 1) If left(ext, 2) = "ac" Then lockext = "laccdb" Else lockext = "ldb" End If s = """" & scriptpath & """ """ & accesspath & """ """ & dbname & """ " & ext & " " & lockext Shell s, vbHide Application.Quit acQuitSaveAll End Sub وهذا امر تشغيلها Utilities.Restart اما بالنسبة لهذا فهو فقط يعمل علامة صح في قاعده البيانات اللي هي غمل ضغط واصلاح عند الخروج Application.SetOption "Auto compact", True اي كلما عملت خروج فهو يعمل ضغط واصلاح
sandanet قام بنشر نوفمبر 27, 2019 قام بنشر نوفمبر 27, 2019 نعم استاذ @ابو ياسين المشولي الأخ @qathi كان يريد ان يزيل علامة الصح من البرنامج وان يضع الكود التالي مكانه Application.SetOption "Auto compact", True وكما هو معلوم فان الكود السابق يضع علامة صح فقط في قاعدة البيانات بحيث عند فتحها وغلقها في المرات القادمة فان الاكسس سيقوم بعملية ضغط للقاعدة كما ان الاخ qathi يريد عمل إعادة تشغيل للقاعدة من خلال زر امر في البرنامج بالاضافة الى وضع علامة صح لضغط القاعدة في المرات القادمة وهذا ماتم انجازه لكن يبدو ان الاخ qathi قد واجه مشكلة في عدم عمل البرنامج بشكل جيد مع انني قد اختبرته على اكثر من جهاز .. ارجو منك تجربة المرفق الاخير واخبارنا بالنتيجة تحياتي
ابو ياسين المشولي قام بنشر نوفمبر 27, 2019 قام بنشر نوفمبر 27, 2019 انا جربته فهو بالفعل يعمل ضغط واصلاح 1
qathi قام بنشر نوفمبر 27, 2019 الكاتب قام بنشر نوفمبر 27, 2019 حفظك الله أستاذي الغالي @sandanet كلماتي تعجز عن شكرك على ماتبذله من مجهود لمساعدتي بارك الله فيك .. وجزاك الله كل خير بعد تجربة الملف الاخير فانه يعمل تمام .. ماعدى ضهور هذة الرسالة عند عمل الكود بعد اغلاق البرنامج وفتحة من جديد والسبب في ظهورها أنه يتطلب وقت أكبر لعملية الضغط والاصلاح لأن البرنامج كبير نسبيا واذا تم ضغط زر موافق فأن البرنامج يعمل فهل يمكن ألغاء هذة الرسالة أو عمل مؤقت زمني بحيث لا يقوم بالفتح ألا بعد عمل ضغط واصلاح
sandanet قام بنشر نوفمبر 27, 2019 قام بنشر نوفمبر 27, 2019 اخي الكريم الـ @qathi هل تريد معالجة الخطأ بالخطأ؟؟ الخطأ الذي فلعته انت هو جعل جداول قاعدة البيانات داخل البرنامج نفسه وهذا خطأ لان البرنامج عندما يزيد حجمه سوف ياخذ وقت كبير بعملية الإغلاق أما لو كنت عازل الجداول في قاعدة اخرى فلن تحدث معك تلك المشكلة اما اذا اردت معالجة الخطأ بان لا يقوم البرنامج بالفتح الا بعد فترة زمنية فهو خطأ آخر نرتكبه وذلك لاننا سوف نجد انفسنا ننتظر مدة طويلة جداً لكي يتم فتح البرنامج من جديد كما اننا لانعرف ماهي المدة الزمنية التي يتطلبها الملف المؤقت للإغلاق مما يجعل ظهور الرسالة السابقة مرة اخرى امر وارد 1
sandanet قام بنشر نوفمبر 28, 2019 قام بنشر نوفمبر 28, 2019 (معدل) أخي الكريم @qathi إليك المرفق التالي ضع فيه بيانات جداولك وجرب DatabaseRestartV1.2.accdb تم تعديل نوفمبر 28, 2019 بواسطه sandanet 1
qathi قام بنشر نوفمبر 28, 2019 الكاتب قام بنشر نوفمبر 28, 2019 (معدل) أشكرك أستاذي الغالي @sandanet على سعة صدرك لي قمت بتجربت الملفين الأخيرين على برنامجي المقسم جداول وواجهات ونفس المشاكل - بالنسبة للملف قبل الاخير تظهر الرسالة هذه 20 ساعات مضت, qathi said: الاختلاف في الرسالة مسار القاعدة في القرص D - وبالنسبة للملف الاخير يقوم باغلاق البرنامج ولا يقوم بتشغيلة مرة أخرى طبعا أضع أمر أعادة التشغيل بعد أمر الضغط والاصلاح تم تعديل نوفمبر 28, 2019 بواسطه qathi
sandanet قام بنشر نوفمبر 28, 2019 قام بنشر نوفمبر 28, 2019 (معدل) أخي الكريم لاحظ انني في الملف الأخير قد استخدمت نفس الملف الأول ماعدا انني قمت بتثبيت علامة الصح بشكل تلقائي بدلاً من كتابة الكود هذا Application.SetOption "Auto compact", True فإن كان الملف الأول بالمشاركة يعمل لديك فيجب ان يعمل الملف الأخير كذلك .. غير هذا فانه لايمكنني عمل شيء اخر تحياتي تم تعديل نوفمبر 28, 2019 بواسطه sandanet
qathi قام بنشر نوفمبر 29, 2019 الكاتب قام بنشر نوفمبر 29, 2019 (معدل) شكرا لك أستاذي @sandanet وفيت وكفيت .. بارك الله فيك تم تعديل نوفمبر 29, 2019 بواسطه qathi
RAGABFAROUK قام بنشر ديسمبر 3, 2019 قام بنشر ديسمبر 3, 2019 اخي الكريم تظهر لي هذه المشكلة على برنامج لطبيب .. هل تعرف سبب ظهورها وضياع البيانات او كيفية علاجها لو امكن ويضيع معها البرنامج بالبيانات علماً بانها بامتدادACCDE ارجو التكرم بالمساعدة لمن يمكنه حلها dr cilinc.rar
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.