• 0
very

كيفية ادراج كود فى حدث معين لاكثر من نموذج برمجيا؟

سؤال

هناك بعض الاكواد ندرجها داخل كل نموذج عند تصميم قواعد بيانات الاكسيس وهذة الاكواد توضع داخل حدث معين مثلا "حدث عند الفتح "

فكيف فعل هذا برمجيا من خلال الكود ؟او من خلال التحكم فية بقاعدة بيانات اخري

 

وكيفية تصدير نماذج او تقارير او اكواد الى قاعدة بيانات اخرى؟

 

هذا مثلما يحدث فى برنامج

AccessMaster 2000-2010

AccessMaster2000-2010.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

14 إجابة على هذا السؤال .

  • 0

تفضل اخي الكريم

 

تم عمل هذا النموذج خصيصا لك

 

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

 

1. ادراج الكود في حدث عند التحميل لكل النماذج التي في قاعدة البيانات ( حتى لو وصلت الى  32,768  نموذج )  عدى نموذج frmADD 

 

 

Private Sub Form_Load()Call allaw([Form])End Sub
 
2. سوف نستخدم هذا النموذج  frmADD ليقوم بإدراج كود حدث عند التحميل لكافة النماذج
 
post-15367-0-78914300-1361091801_thumb.g
 
3. هذا النموذج يحتوي على مربع قائمة  List2  بها جميع اسماء نماذج القاعدة عدى النموذج frmADD لأنه هو المستخدم ويوجد به الكود التالي
 
Private Sub CmdADD_Click()On Error Resume NextDim frm1 As FormDim mdl1 As ModuleDim x As IntegerDim i As Integer For i = 0 To List2.ListCount - 1DoCmd.OpenForm List2.ItemData(i), acDesignSet frm1 = Forms(List2.ItemData(i))Set mdl1 = Forms(List2.ItemData(i)).Modulex = mdl1.CountOfLinesmdl1.InsertLines x + 1, "Private Sub Form_Load()"mdl1.InsertLines x + 2, "    Call allaw([Form])"mdl1.InsertLines x + 3, "End Sub"DoCmd.Close acForm, List2.ItemData(i), acSaveYesNext End Sub
 
هذا الكود يقوم بعمل دوران على جميع النماذج ويتم ادراج كود حدث عند التحميل بها
 
post-15367-0-29070100-1361092631_thumb.g
 
 
post-15367-0-41193200-1361092852_thumb.g
 
 
 
اذا تمت الإجابه على السؤال فلا تنسى الضغط على ( أفضل إجابة )
 
 
بالتوفيق
 
تم تعديل بواسطه zahrah
3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

up

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

up

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نفسي اعمل تمت الاجابة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

أما عن تصدير النماذج والتقارير فابحث أيضا في المنتدى عن ذلك

فأسهل من إنتظار الرد وكتابة up   up أن تبحث بنفسك لتجد الإجابة كل ماعليك فقط هو إختيار كلمات البحث المناسبة وحتى وإن لم تستطع ذلك حاول ثانية وثانية إلى أن تجد ضالتك بنفسك سواء في هذا المنتدى أو في غيره

وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله بك اخي عصام عبود 

على المشاركة

 

ربما يود صاحب السؤال عمل وحدة نمطية جاهزة تضم جميع الأكواد البرمجية وما عليه سوى استدعاء الحدث 

 

لذا ضع هذه الأكواد في وحده نمطية جديده ومن قم  بإستدعاء ما تريد منها 

 

 

Option Compare DatabaseOption Explicit'إغلاق النموذجPublic Sub run_close()On Error GoTo Err_run_closeDoCmd.closeExit_run_close:        Exit SubErr_run_close:        MsgBox Err.description        Resume Exit_run_closeEnd Sub'السجل التاليPublic Sub run_next()On Error GoTo Err_run_next         DoCmd.GoToRecord , , acNextExit_run_next:        Exit SubErr_run_next:BeepResume Exit_run_nextEnd Sub'السجل الأخيرPublic Sub run_last()On Error GoTo Err_run_last         DoCmd.GoToRecord , , acLastExit_run_last:        Exit SubErr_run_last:        Beep        Resume Exit_run_lastEnd Sub'حذف سجلPublic Sub run_del()On Error GoTo Err_run_del         DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70        DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70Exit_run_del:        Exit SubErr_run_del:        MsgBox Err.description        Resume Exit_run_delEnd Sub'فتح نموذج'form هو وسيط يشير إلى اسم النموذج المراد فتحهPublic Sub run_open(Form As String)On Error GoTo Err_run_open        Dim stLinkCriteria As String        DoCmd.OpenForm Form, , , stLinkCriteriaExit_run_open:        Exit SubErr_run_open:        MsgBox Err.description        Resume Exit_run_openEnd Sub'إضافة سجل'start هو وسيط يشير إلى عنصر التحكم المراد الانتقال إليه عند بداية إدخال السجلPublic Sub run_add(start As String)On Error GoTo Err_run_add         DoCmd.GoToRecord , , acNewRecDoCmd.GoToControl startExit_run_add:        Exit SubErr_run_add:        MsgBox Err.description        Resume Exit_run_addEnd Sub'السجل السابقPublic Sub run_previous()On Error GoTo Err_run_Previous         DoCmd.GoToRecord , , acPreviousExit_run_Previous:        Exit SubErr_run_Previous:BeepResume Exit_run_PreviousEnd Sub'لتحديث بيانات النموذجPublic Sub run_update()On Error GoTo Err_run_update         DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70Exit_run_update:        Exit SubErr_run_update:        MsgBox Err.description        Resume Exit_run_updateEnd Sub'معاينة تقريرPublic Sub open_report(report As String)On Error GoTo Err_open_report        DoCmd.openreport report, acPreviewExit_open_report:        Exit SubErr_open_report:        MsgBox Err.description        Resume Exit_open_reportEnd Sub'طباعة تقريرPublic Sub print_report(report As String)On Error GoTo Err_print_report        DoCmd.openreport report, acNormalExit_print_report:        Exit SubErr_print_report:        MsgBox Err.description        Resume Exit_print_reportEnd Sub'تراجعPublic Sub run_undo()On Error GoTo Err_run_undo         DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70Exit_run_undo:        Exit SubErr_run_undo:Beep        Resume Exit_run_undo End Sub'السجل الأولPublic Sub run_first()On Error GoTo Err_run_first         DoCmd.GoToRecord , , acFirstExit_run_first:        Exit SubErr_run_first:        Beep        Resume Exit_run_firstEnd Sub
تم تعديل بواسطه zahrah
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اولا شكرا لردكم وتعبكم

سؤالى لم يفهم جيدا هذا ليس المطلووووووب

استاذتى زهرة

 

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

هذا مثلما يحدث فى برنامج

AccessMaster 2000-2010

 

اتمنى يكون سؤالى واضح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

استاذ فيري السر بيكمن في دالة باسم

Application.VBE.CodePanes

ما توصلت له انه لو كتبت مثلا

msgbox Application.VBE.CodePanes.Count

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

ولو اردت تغيير اي سطر من سطور المديول ستكتب

Application.VBE.CodePanes(1).CodeModule.ReplaceLine 2, "Write here what you want"

حيث ستغيير رقم 1 وهو رقم المديول المراد الكتابة به .. ورقم 2 هو رقم السطر ثم أكتب الكود الذي ترغب به ..

 

يا رب يكون هذا افادك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الصراحة مش فاهم اللى انت بتتكلم فية

 

بس انا عايز اوصل للاتى

 

اكتب داخل حدث عند التحميل استدعاء دالة (لحيات المستخدم مثلا)

ويتم تكرار هذا داخل كل النماذج الخاصة بقاعدة البيانات التى اعمل عليها

كل هذا يحدث برمجيا

 

هذا يحدث من خلال برنامج

AccessMaster 2000-2010

عندما تحدد اختيار اضافات اخرى ===> وتثبيت نظام صلحيات المستخدمين  يضع البرنامج داخل قاعدة البيانات المختارة داخل كل نموذج فىى حدث عند الفتح دالة استدعاء صلحيات المستخدمين

 

اريد معرفة كيف يتم ذلك برمجيا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا أخي الكريم ما أوضحته الدكتورة زهرة فيه الدواء والشفاء بإذن الله

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أرفق مثالك لكي يتم التعديل عليه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الصراحة مش فاهم اللى انت بتتكلم فية

 

بس انا عايز اوصل للاتى

 

اكتب داخل حدث عند التحميل استدعاء دالة (لحيات المستخدم مثلا)

ويتم تكرار هذا داخل كل النماذج الخاصة بقاعدة البيانات التى اعمل عليها

كل هذا يحدث برمجيا

 

هذا يحدث من خلال برنامج

AccessMaster 2000-2010

عندما تحدد اختيار اضافات اخرى ===> وتثبيت نظام صلحيات المستخدمين  يضع البرنامج داخل قاعدة البيانات المختارة داخل كل نموذج فىى حدث عند الفتح دالة استدعاء صلحيات المستخدمين

 

اريد معرفة كيف يتم ذلك برمجيا

 

 

اخي الكريم

هل من الممكن تكتب لنا الأكواد التي تريدها في حدث عند الفتح للنماذج !!!!!

والتي تريد ادارجها بالكود البرمجي لجميع النماذج الخاصة بك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الكريم

هل من الممكن تكتب لنا الأكواد التي تريدها في حدث عند الفتح للنماذج !!!!!

والتي تريد ادارجها بالكود البرمجي لجميع النماذج الخاصة بك

Private Sub Form_Load()

Call allaw([Form])

End Sub

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما شاء الله.........عمل رائع

 

بارك الله فيك يا زهرة النتدى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .