SAROOK قام بنشر فبراير 28, 2017 قام بنشر فبراير 28, 2017 السلام عليكم جميعا لدي في المرفقات مرفق به قاعدتي بيانات الاولى المسماة " START " ,والثانية مسماة " END " تحوي قاعدة البيانات الاولى START على نموذج به امر فتح نموذج اسمه " TEST " في قاعدة بيانات اخرى اسمها END والتي بدورها تحوي ماكرو بدء التشغيل autoexec به امر فتح نموذج اسمه DEL ALL والمشكلة تتلخص في انه عند فتح القاعدة الاولى و اعطاء امر الفتح للقاعدة الاخرى يتم فتح كلا النموذجين "TEST " و " DEL ALL " وماريده هو ان يتم فتح النموذج TEST فقط وان يتم تجاهل الماكرو التنفيذي ماكرو بدء التشغيل autoexec ارجو ان اكون قد احسنت الشرح ملاحظة : يجب وضع قاعدة البيانات في المسار D:\END.ACCDB start.rar
Shivan Rekany قام بنشر مارس 2, 2017 قام بنشر مارس 2, 2017 في ٢٨/٢/٢٠١٧ at 23:44, SAROOK said: السلام عليكم جميعا لدي في المرفقات مرفق به قاعدتي بيانات الاولى المسماة " START " ,والثانية مسماة " END " تحوي قاعدة البيانات الاولى START على نموذج به امر فتح نموذج اسمه " TEST " في قاعدة بيانات اخرى اسمها END والتي بدورها تحوي ماكرو بدء التشغيل autoexec به امر فتح نموذج اسمه DEL ALL والمشكلة تتلخص في انه عند فتح القاعدة الاولى و اعطاء امر الفتح للقاعدة الاخرى يتم فتح كلا النموذجين "TEST " و " DEL ALL " وماريده هو ان يتم فتح النموذج TEST فقط وان يتم تجاهل الماكرو التنفيذي ماكرو بدء التشغيل autoexec ارجو ان اكون قد احسنت الشرح ملاحظة : يجب وضع قاعدة البيانات في المسار D:\END.ACCDB start.rar 7 ساعات مضت, SAROOK said: للرفع اليك هذا الحل غير اسم نموذج dll Alll الى dll_All واستخدم هذا الكود Dim appAccess As Access.Application Set appAccess = New Access.Application appAccess.OpenCurrentDatabase ("D:\end.accdb") appAccess.DoCmd.Close acForm, "del_all", acSaveNo appAccess.DoCmd.OpenForm "test" appAccess.Visible = True appAccess.UserControl = True اي تم اضافة كود اغلاق نموذج ديل ال فقط ... اي تم الاضافة الكود الاسفل فقط appAccess.DoCmd.Close acForm, "del_all", acSaveNo تحياتي 1
jjafferr قام بنشر مارس 2, 2017 قام بنشر مارس 2, 2017 السلام عليكم بالاضافة الى طريقة اخي شفان ، هناك طريقتين بحثت عنهم: 1. https://msdn.microsoft.com/en-us/library/aa211469(v=office.11).aspx 2. كما في المرفق نستعمل الوحدة النمطية من الرابط التالي: http://access.mvps.org/access/api/api0068.htm والتي تمسك مفتاح الشفت برمجيا ، ومنه لا يعمل الماكرو Autoexec جعفر 609.zip 2
SAROOK قام بنشر مارس 2, 2017 الكاتب قام بنشر مارس 2, 2017 السلام عليكم اخواي المحترمان / شيفان وجعفر مع حفظ الالقاب " الاجابة الشافية " هي مايمكن ان اصفكما به لقد استفدت كثيرا من اجابتكما .... اشكركم كلاكما مبدع وفقكم الله ملاحظة : اخي شيفان المحترم .... هل يمكن منع تحميل نموذج "del_all" بدلا عن تحميله ثم اغلاقه لان حدث مسح البيانات سوف يتم وضعه في حدث عند التحميل للنموذج
Shivan Rekany قام بنشر مارس 4, 2017 قام بنشر مارس 4, 2017 في ٢/٣/٢٠١٧ at 19:12, SAROOK said: ملاحظة : اخي شيفان المحترم .... هل يمكن منع تحميل نموذج "del_all" بدلا عن تحميله ثم اغلاقه لان حدث مسح البيانات سوف يتم وضعه في حدث عند التحميل للنموذج هناك سۆال : لماذا عملت ماكرو لكي يفتح نموذج مسح الكل " ديل ال " في بداية فتح القاعدة البيانات ؟ ما هو السبب ؟ ما هو سبب لكي تفتح نموذج " تيست " ؟ اي لماذا لا تعمل الماكرو لكي يفتح نموذج تيست بجواب الاسئلة الاعلى راح نواصل لحل المطلوب ان شاء الله تحياتي 1
SAROOK قام بنشر مارس 4, 2017 الكاتب قام بنشر مارس 4, 2017 السلام عليكم اخي المحترم / شيفان تحية طيبة عطرة وبعد ..... السبب اخي الكريم ان ماطلبته هو اسلوب حماية الفكرة تتلخص في طريقة فتح القاعدة " يتم استدعاء قاعدة البيانات المسماة end من خارجها بقاعدة بيانات اخرى مسماة start " فاءن حدث ذلك فسوف يتم فتحها بشكل طبيعي اما ان تم محاوله فتح القاعدة end مباشرة هنا سوف يعمل ماكرو بدء التشغيل وسوف يتم ازالة كافة كائنات القاعدة ارجو ان اكون قد احسنت اجابة اسئلتك الكريمة
Shivan Rekany قام بنشر مارس 4, 2017 قام بنشر مارس 4, 2017 منذ ساعه, SAROOK said: السلام عليكم اخي المحترم / شيفان تحية طيبة عطرة وبعد ..... السبب اخي الكريم ان ماطلبته هو اسلوب حماية الفكرة تتلخص في طريقة فتح القاعدة " يتم استدعاء قاعدة البيانات المسماة end من خارجها بقاعدة بيانات اخرى مسماة start " فاءن حدث ذلك فسوف يتم فتحها بشكل طبيعي اما ان تم محاوله فتح القاعدة end مباشرة هنا سوف يعمل ماكرو بدء التشغيل وسوف يتم ازالة كافة كائنات القاعدة ارجو ان اكون قد احسنت اجابة اسئلتك الكريمة عندي فكرة واحدة على هذا وهو ان نستخدم عداد الوقت اي حين يفتحي نموذج ديل ال اي مسح الكل يتم تشغيل العداد الوقت واذا وقت صار ل 2 ثواني او اكثر بيعمل الحذف الكائنات و اذا ما وصل على 2 ثواني وغلق النموذج ما بيعمل شي هل هذا يفيدك ؟
SAROOK قام بنشر مارس 4, 2017 الكاتب قام بنشر مارس 4, 2017 السلام عليكم اخي المحترم / شيفان تحية طيبة عطرة وبعد ..... حقيقة لم استوعب ماذكرت هل لي بتطبيق ماذكرته على المرفق سالف الذكر واكون شاكرا ممتنا لتعبك ومجهودك معي اخي شيفان
رمهان قام بنشر مارس 4, 2017 قام بنشر مارس 4, 2017 اسمحو لي ببعض التعليقات وان شاء الله تكون مفيده 7 ساعات مضت, SAROOK said: اما ان تم محاوله فتح القاعدة end مباشرة هنا سوف يعمل ماكرو بدء التشغيل وسوف يتم ازالة كافة كائنات القاعدة ارجو ان اكون قد احسنت اجابة اسئلتك الكريمة طيب لو ضغط الشفت هنا ؟ سيفتح القاعدة كماهي ! لم تحل مشكلتك ! في 3/2/2017 at 11:30, jjafferr said: 2. كما في المرفق نستعمل الوحدة النمطية من الرابط التالي: http://access.mvps.org/access/api/api0068.htm والتي تمسك مفتاح الشفت برمجيا ، ومنه لا يعمل الماكرو Autoexec جعفر 609.zip امسكت بالشفت ومنعته .. تمام .. لكن كيف ستفتح النموذج البعيد ؟ تحياتي
jjafferr قام بنشر مارس 4, 2017 قام بنشر مارس 4, 2017 17 دقائق مضت, رمهان said: امسكت بالشفت ومنعته .. تمام .. لكن كيف ستفتح النموذج البعيد ؟ الجواب في المرفق
رمهان قام بنشر مارس 5, 2017 قام بنشر مارس 5, 2017 1 ساعه مضت, jjafferr said: الجواب في المرفق جميل جدا استاذ جعفر انا لم انزل المرفق ولم اجرب . اعتمدت على التوقع وهو انه لفتح نموذج يتطلب فتح القاعدة ضمنيا وعند فتح القاعدة سيعمل الماكروز ولكن التجربه اثبتت توقع خاطئ . تتبعت الكود العام على عجاله ووجد ت هذا السطر واتوقع انه زائد وان شاء الله يكون توقع صحيح Set fGetRefNoAutoexec = objAcc واعتقد الموضوع يحتاج قراءة على روقان وفيه اختصارات كثيره وان شاء الله هم بعد مايكون توقع خاطئ تحياتي
SAROOK قام بنشر مارس 5, 2017 الكاتب قام بنشر مارس 5, 2017 السلام عليكم اخي المحترم / رمهان تحية طيبة فواحةوبعد ..... ان الحل الذي تقدم به الاخ المحترم جعفر " مشكورا" طبقته وهو يعمل 100% وهي طريقة فعالة ممتازة ومايحاول الاخ المحترم شيفان هو اسلوب اخر ابتدعه الاخ شيفان .... وهي محاولة لاثراء الموضوع حتى يستفيد اكبر قدر ممكن من الناس . تحياتي واحتراماتي
Shivan Rekany قام بنشر مارس 5, 2017 قام بنشر مارس 5, 2017 2 ساعات مضت, SAROOK said: السلام عليكم اخي المحترم / رمهان تحية طيبة فواحةوبعد ..... ان الحل الذي تقدم به الاخ المحترم جعفر " مشكورا" طبقته وهو يعمل 100% وهي طريقة فعالة ممتازة ومايحاول الاخ المحترم شيفان هو اسلوب اخر ابتدعه الاخ شيفان .... وهي محاولة لاثراء الموضوع حتى يستفيد اكبر قدر ممكن من الناس . تحياتي واحتراماتي شكرا لكبرائنا استاذ @jjafferr و استاذ @رمهانعلى ما قدمت لنا @SAROOK لازم احنا نعرف ما نقدم لنا الكبرائنا هو طريقة برمجة صحيحة واللي احنا نعرفه هو طرائق من الشوارع ما اخفى انا مش خريج لمعاهد او كليات الحاسوب بل خريج قسم ادارة اعمال والسببي بيكون هنا هو بيرجع لحكاية من الحكايا لشهر 11 في سنة 2014 ومنذ ذلك تعلمت من كبرائنا اشياءاً لم علمت قبل ذلك ---------- وهذا هو فكري طبقت علمثال الاسفل 'متغير بنوع رقمي لتعداد Dim Se As Integer ' عند اغلاق النموذج Private Sub Form_Close() ' قيمة تايمر انترفال بيكون صفر لكي يوقف اونتايمر Me.TimerInterval = 0 ' قيمة المتغير بيكون صفر Se = 0 End Sub ' عند تحميل النموذج Private Sub Form_Load() ' قيمة تايمر انترفال بيكون الف اي يساوي ثانية واحدة لكي يشتغل اونتايمر العداد Me.TimerInterval = 1000 End Sub ' وفي حالة اون تايمر Private Sub Form_Timer() ' قيمة متغيرنا بيكون نفسه زائد واحد Se = Se + 1 ' اذا كان قيمة متغيرنا وصل الى اثنان او اكثر If Se >= 2 Then ' هنا يفعل ما يۆمر اي بيعمل الحذف الكل Call DeleteAllFormsAndReportsss ' انهاء الايف End If End Sub واليك المرفق بعد تعديل وهناك شي اخر الغي كل الگرق لاغلاق نموذج حذف الكل لكي اذا فتح القاعدة لكي ما عندة طريق لكي يغلقه لكي النموذج حذف الكل بيعمل المطلوب اي لكي بيحذف كل شي لانه فتح بشكل عادي وليس بواسطة قاعدة ستارت تحياتي فتح قاعده من قاعده اخرى.rar 2
SAROOK قام بنشر مارس 5, 2017 الكاتب قام بنشر مارس 5, 2017 السلام عليكم اخي المحترم / شيفان اشكرك كثيرا للاهتمام وبعد ..... لقد تمت العملية بنجاح وتم مسح الكائنات ماعدا الماكرو autoexec ونموذج del_all طبعا لانه مفتوح ولكن ظهر بعدها خطاء " compile error sub or function not defined " واعتقد ان سبب ظهوره هو ازالة الوحدة النمطية الخاصة بامر ازالة كافة الكائنات " module5 " حاولت ان اقضي عليه بكل الطرق المشروعه وغير المشروعه ولكن لم افلح تحياتـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــي
Shivan Rekany قام بنشر مارس 6, 2017 قام بنشر مارس 6, 2017 11 ساعات مضت, SAROOK said: السلام عليكم اخي المحترم / شيفان اشكرك كثيرا للاهتمام وبعد ..... لقد تمت العملية بنجاح وتم مسح الكائنات ماعدا الماكرو autoexec ونموذج del_all طبعا لانه مفتوح ولكن ظهر بعدها خطاء " compile error sub or function not defined " واعتقد ان سبب ظهوره هو ازالة الوحدة النمطية الخاصة بامر ازالة كافة الكائنات " module5 " حاولت ان اقضي عليه بكل الطرق المشروعه وغير المشروعه ولكن لم افلح تحياتـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــي افتح موديول 5 "module5" وغير ''Modules For idx = CurrentProject.AllModules.Count - 1 To 0 Step -1 strName = CurrentProject.AllModules(idx).Name If strName <> "Module9" Then DoCmd.DeleteObject acModule, strName End If Next idx الى ''Modules For idx = CurrentProject.AllModules.Count - 1 To 0 Step -1 strName = CurrentProject.AllModules(idx).Name If strName <> "Module5" Then DoCmd.DeleteObject acModule, strName End If Next idx شوف الاول مكتوبة موديول 9 "module9" واسم الصحيح هو موديول 5 "module5" غيرها اولا والان صار كود اونتايمر هكذ Private Sub Form_Timer() Se = Se + 1 If Se >= 2 Then Call DeleteAllFormsAndReportsss DoCmd.DeleteObject acMacro, "autoexec" DoCmd.DeleteObject acModule, "module5" End If End Sub تحياتي 1
رمهان قام بنشر مارس 6, 2017 قام بنشر مارس 6, 2017 اخينا ساروك ان صح الاسم 1. لو فرضنا ان المستخدم فتح end وبالاستمرار على الشيف فسيفتح القاعدة بدون حماية ! هنا لم تستفد من الفتح عن طريق ملف اخر 2. مسالة الحماية بحذف الكائنات : تخيل ان عميلك قام لهذا من باب الفضول . هنا انت حملت نفسك تكلفة اضافية لاعادة البرنامج وكذلك قد تجد طريقا مسدودا لاعادة الكائنات 3. اختصار لماتريد تستطيع عمل شرط عند فتح النموذج الرئيسي وهو هل تم فتح النموذج مباشرة ام عن طريق الماكرو التنقيذي . فاذا مباشرة يتم الرفض والخروج من البرنامج والعكس اذا تم الفتح عن طريق الماكرو التلقائي يتم فتح النموذج والاستمرار بالتوفيق 2
SAROOK قام بنشر مارس 6, 2017 الكاتب قام بنشر مارس 6, 2017 (معدل) السلام عليكم اخي المحترم / شيفان اشكرك كثيرا لتعبك المتواصل معي جعله الله في ميزان حسناتك وبعد ..... لقد طبقت كل ماارشدتني اليه وللاسف مازال الخطاء " compile error sub or function not defined " موجود. تحياتـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــي تم تعديل مارس 6, 2017 بواسطه SAROOK
SAROOK قام بنشر مارس 6, 2017 الكاتب قام بنشر مارس 6, 2017 السلام عليكم اخي المحترم / رمهان شكرا جزيلا لك لمشاركتك معنا في هذا الموضوع وانه لشرف كبير ان نرى اسهامتك حاضرة موجه لنا نحن طلاب علم المنتدى . 1- بالنسبة لموضوع فتح القاعدة end " لن يستطيع المستخدم العادي فتحها عن طريق الشفت لانه زر الشفت ملغى او غير مفعل " 2- بالنسبة للعميل فيما لو فتح صدفة او خطاء او فضولا القاعدة ... هذه القاعدة سوف تكون مخفية جيدا .هذا من ناحية ومن الناحية الاخرى طبعا هذا احتمال استعددت له طالما طبقت هذه الحماية. فالقاعدة مكونه من جزئين جزء واجهات والجزء الاخر جدوال وبها نظام حفظ تلقائي للجدوال . فلو مسحت القاعدة طبيعي ان المبرمج لديه الاجزء الاساسي " الواجهات " 3- الفكرة التي ذكرت فكرة ممتازة ورائعة ولسوف احاول العمل عليها ان شاء الله تحياتي الكبيرة لشخصك الكريم اخي رمهان واياديك معنا وفقك الله
Shivan Rekany قام بنشر مارس 6, 2017 قام بنشر مارس 6, 2017 47 دقائق مضت, SAROOK said: السلام عليكم اخي المحترم / شيفان اشكرك كثيرا لعبك المتواصل معي جعله الله في ميزان حسناتك وبعد ..... لقد طبقت كل ماارشدتني اليه وللاسف مازال الخطاء " compile error sub or function not defined " موجود. تحياتـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــي اسف اخي سروك اتفضل القاعدة بعد التعديل للعلم انا اضفت للكود اون تايمر Me.TimerInterval = 0 Private Sub Form_Timer() Se = Se + 1 If Se >= 2 Then Me.TimerInterval = 0 Call DeleteAllFormsAndReportsss DoCmd.DeleteObject acMacro, "autoexec" DoCmd.DeleteObject acModule, "module5" End If End Sub تحياتي end.rar 1
SAROOK قام بنشر مارس 6, 2017 الكاتب قام بنشر مارس 6, 2017 السلام عليكم اخي المحترم / شيفان ممتــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــاز لقد عمل الكود بنجاح فائق بارك الله فيك ومتعك بالصحة والعافية -- انت عبقري -- تحياتـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــي 1
رمهان قام بنشر مارس 7, 2017 قام بنشر مارس 7, 2017 في 3/6/2017 at 16:42, SAROOK said: 1- بالنسبة لموضوع فتح القاعدة end " لن يستطيع المستخدم العادي فتحها عن طريق الشفت لانه زر الشفت ملغى او غير مفعل " مافيه شي اسمه الغاء الشفت . راجع موضوع للاستاذ ابو خليل به مرفق يمنح الشفت وبه خيار الغاء الشفت لاي قاعدة تختارها وهو مفتوح المصدر . هذا للتنبيه فقط . في 3/6/2017 at 16:42, SAROOK said: 3- الفكرة التي ذكرت فكرة ممتازة ورائعة ولسوف احاول العمل عليها ان شاء الله حاول التنفيذ . وان صعب عليك عد وسنعود تحياتي 1
SAROOK قام بنشر مارس 7, 2017 الكاتب قام بنشر مارس 7, 2017 3 ساعات مضت, رمهان said: مافيه شي اسمه الغاء الشفت . راجع موضوع للاستاذ ابو خليل به مرفق يمنح الشفت وبه خيار الغاء الشفت لاي قاعدة تختارها وهو مفتوح المصدر . هذا للتنبيه فقط . حاول التنفيذ . وان صعب عليك عد وسنعود تحياتي ساحاول التنفيذ ان شاء الله اخي رمهان المحترم بارك الله بك وفيك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.