حدد أي موضوع أدناه للتعرف على الموظفين في إصدار مطور Northwind.
يحتوي الموظفون على نموذج منقسم واحد يعمل كنموذج قائمة وتفاصيل.
استخدم الموظفين لإضافة موظفين جدد وتحديث معلومات حول الموظفين الحاليين.
حدد علامة التبويب الموظفين على الشريط لعرض الموظفين في نموذج قائمة الموظفين، frmEmployeeList، وهو نموذج منقسم بالميزات التالية:
-
الجزء العلوي من النموذج هو طريقة عرض واحدة لموظف واحد.
-
الجزء السفلي من النموذج هو طريقة عرض ورقة بيانات لجميع الموظفين.
-
يؤدي تحديد موظف في أي من الجزأين أيضا إلى تعيين التركيز على هذا الموظف في الجزء الآخر من النموذج المنقسم.
-
يمكنك إضافة الموظفين أو تحريرهم أو حذفهم في أي جزء من نموذج الانقسام.
-
يفترض استخدام نموذج منقسم مع جزء طريقة عرض ورقة البيانات أن مصدر سجلات النموذج يحتوي على سجلات متعددة.
تأثير الأداء المحتمل لنموذج منقسم
يفضل معظم المطورين عدم تحميل جدول أو استعلام غير المصفات كمصدر سجلات لنموذج. تعمل تصفية نموذج إلى سجل واحد على تقليل كمية البيانات التي سيتم نقلها من الجدول إلى النموذج. باستخدام جدول Access محلي، قد يكون الفرق بين تحميل مصدر سجلات تمت تصفيته ومصدر سجلات صغير غير مصفاة بالكاد ملحوظا. ومع ذلك، يتم فقدان هذا الأداء عند استبدال جداول Access بقاعدة بيانات بعيدة تستند إلى الخادم مثل SQL Server.
لا ينبغي أن ينمو جدول الموظفين في Northwind كبيرا جدا، لذلك فهو مرشح لمصدر سجلات غير المصفق. ومع ذلك، فإن النماذج المرتبطة بجداول أخرى، مثل تفاصيل الطلب - والتي من المحتمل أن تنمو إلى عدة آلاف من السجلات - ليست مرشحة لمصدر سجلات غير المصفاة.
تحرير الموظفين
عند إضافة سجلات أو تحريرها في نموذج منقسم، يمكن للمستخدمين إدخال القيم إما في طريقة عرض النموذج أو طريقة عرض ورقة البيانات. بعض الحقول مطلوبة، وبعضها اختياري. يتحقق النموذج من وجود القيم في الحقول المطلوبة. راجع التحقق من صحة الحقل المطلوب أدناه.
جداول البحث وقوائم القيم وعناصر التحكم المنسدلة
-
تحد القائمة المنسدلة العناوين من الإدخالات إلى قائمة بالعناوين المحددة مسبقا. العناوين موجودة في جدول بحث يسمى العناوين.
-
يتم تخزين بعض الخيارات المتوقعة بالفعل في جدول البحث، ولكن يمكن للمستخدمين إضافة عناوين جديدة إلى جدول البحث، باستخدام سلوك Access الافتراضي لسرد السرد، أو عناصر التحكم المنسدلة.
-
تم تعيين الخاصية Limit to List في مربع التحرير والسرد Title إلى Yes ويتم تعريف نموذج التحرير للعناوين في الخاصية List Items Edit Form. يؤدي تحديد القائمة المنسدلة في النموذج إلى عرض أيقونة التحرير على الحافة السفلية.
-
يؤدي النقر فوق أيقونة التحرير إلى فتح نموذج تحرير العناوين ، frmEmployeeTitles، حيث يمكنك تغيير قائمة العناوين المعتمدة أو إضافتها إليها.
ملاحظه:في معظم بيئات الإنتاج، سيقتصر تحرير العناوين أو إضافتها على المستخدمين الذين لديهم امتيازات محسنة.
حقول البحث Self-Referential
توضح دالة الموظف مفهوم حقل معرف Self-Referential. لدعم تعيين مشرف موظف، يحتوي الجدول على حقل SupervisorID مع معرف الموظفللموظفين الآخرين. لتعيين مشرف، يتم إدخال EmployeeID لموظف آخر في هذا الحقل. يفرض Access التكامل المرجعي على هذه العلاقة.
يتم تنفيذ SupervisorID في نموذج الموظف كقوائم منسدلة أو مربع تحرير وسرد؛ مصدر الصفوف الخاص به هو مجموعة من السجلات المصفاة من جدول Employee. نظرا لأنه مرجع ذاتي، يجب أن يستبعد الاستعلام EmployeeID الخاص بالموظف المحدد. على سبيل المثال، لا يتضمن مصدر الصفوف ل SupervisorID للموظفة كارين فينسترمعرف الموظف الخاص بكارين. لا يمكنها أن تكون مشرفها الخاص
حقول المرفقات وعناصر التحكم
يتم تخزين صور الموظفين في حقل مرفق في الجدول. يمكنك إضافة صور جديدة، أو تغيير الصور الموجودة، باستخدام سلوك Access الافتراضي لحقول المرفقات.
ملاحظه: لقد قمنا بإدراج حقل مرفق في جدول Employee لتوضيح الميزة في Access. تزيد الصور المضمنة من حجم accdbs ، وبالتالي، لا تعتبر أفضل ممارسة. قم بتقييم بيئتك بعناية قبل تنفيذها في تطبيق إنتاج. البديل المفضل هو مجلد شبكة يخزن جميع الصور، وارتباط في حقل نصي في الجدول يحتوي على المسار إلى الصورة، بدلا من حقل المرفق.
نموذج فرعي مع معلومات ذات صلة
يعرض نموذج الطلبات الفرعي (على الجانب الأيسر من نموذج الموظف) الطلبات الأخيرة (إن وجدت) التي قام الموظف بمعالجتها. يسرد النموذج الفرعي الطلبات في طريقة عرض ورقة البيانات، التي تم فرزها من الأحدث إلى الأقدم. لتحرير طلب موجود لهذا الموظف، انقر فوق معرف الطلب المرتبط تشعبيا # في النموذج الفرعي الطلبات.
مصدر سجلات نموذج الموظف
يقوم استعلام يسمى qryEmployees بإرجاع السجلات في النموذج. عادة ما يعتبر استخدام استعلام، بدلا من الجدول، أفضل ممارسة. يقوم الاستعلام بإرجاع السجلات من جدول واحد فقط. بالإضافة إلى ذلك، يمكن تحديد معلمات الاستعلام للحد من عدد السجلات التي تم إرجاعها.
-
تستخدم عبارة Select لهذا الاستعلام حرف البدل '*' لإرجاع كافة الحقول من جدول Employee.
-
يقوم حقلان محسوبان في الاستعلام بإرجاع FirstName LastName و LastName، FirstName.
القيم المحسوبة في عناصر التحكم
ملاحظه: لا يتم تخزين الحقول المحسوبة في الجدول. ومع ذلك، فهي متوفرة في مصدر سجلات النموذج.
يتم تمكين معظم عناصر التحكم في نموذج الموظف حتى تتمكن من تحديدها بالماوس أو علامة التبويب فيها وهي غير مؤمنة بحيث تكون قابلة للتحرير.
بالإضافة إلى سلوك Access المضمن، تقوم VBA Subs and Functions في النماذج، وفي عناصر التحكم في النماذج، وفي الوحدات النمطية المستقلة بتنفيذ المنطق الأساسي المطلوب للموظفين. يصف القسم التالي الدالات والرمز الذي ينفذ هذه الدالات.
إجراء التحكم المضمن
السلوك الافتراضي لمحدد السجلات للنموذج:
-
يؤدي النقر بزر الماوس الأيمن فوق محدد السجل إلى يسار نموذج في طريقة عرض واحدة إلى حفظ السجل الحالي بأي عمليات تحرير. يؤدي الحفظ بالنقر بزر الماوس الأيمن فوق محدد السجلات إلى تشغيل وظائف ووظائف VBA الفرعية المناسبة.
-
يؤدي النقر بزر الماوس الأيمن فوق محدد السجلات إلى يسار نموذج في طريقة عرض واحدة إلى نافذة منبثقة إلى قائمة لتنفيذ إجراءات مثل قص سجل أو نسخه أو لصقه. يؤدي حذف سجل أو قصه إلى تشغيل الدالة EmployeeCanBeDeleted الموضحة أدناه.
-
يجب تمكين محددات السجلات لكي يتوفر نموذج لهذا السلوك الافتراضي.
التكامل المرجعي للسجلات في النموذج
يمنع التكامل المرجعي حذف الموظفين الذين لديهم سجلات تابعة في الجداول ذات الصلة. لذلك، يثير Access خطأ إذا حاول مستخدم حذف سجل بسجلات تابعة. يستبدل نموذج Northwind Employee Access رسائل الخطأ العامة والافتراضية المتعلقة بالتكامل المرجعي برسائل مخصصة.
تستجيب التعليمات البرمجية في إجراء حذف النموذج إما إلى قص سجل من قائمة النقر بزر الماوس الأيمن أو لحذف سجل باستخدام مفتاح Delete .
تتحقق الوظيفة الخاصة، EmployeeCanBeDeleted، من السجلات ذات الصلة لهذا الموظف في جداول الطلبات وأوامر الشراءوالموظفينوامتيازات الموظف.
إذا تم العثور عليها، فإن هذه الدالة تقوم بقمع رسالة الخطأ الافتراضية وإعلام المستخدم لسبب تعذر حذف السجل باستخدام مربع الحوار العام نفسه الذي يستخدمه نموذج العميل لإعلام المستخدم بسبب تعذر حذف العميل.
التحقق
ينفذ الموظفون التحقق من الصحة ومعالجة الأخطاء القياسية. هناك نوعان من التحقق من الصحة لعناصر التحكم.
-
الحقول المطلوبة
-
التنسيقات القياسية
التحقق من صحة الحقل المطلوب
هناك ثلاثة حقول مطلوبة لجميع الموظفين:
-
الاسم الأول
-
اسم العائلة
-
المسمى الوظيفي
في إصدار المطور هذا، يتحقق حدث قبل التحديث للنموذج من صحة الحقول المطلوبة. إذا حاول مستخدم حفظ سجل موظف بدون قيم لحقول واحدة أو أكثر من الحقول المطلوبة التي لا تحتوي على التحقق من صحة القيمة، فسيلغي الحفظ ويسلط الضوء على أي حقول مطلوبة لا تحتوي على قيمة. في نموذج الموظف في Northwind، تتم معالجة التحقق من صحة الحقل المطلوب بواسطة الحدث قبل التحديث للنموذج، وليس بواسطة عناصر التحكم الفردية.
يتحقق الحدث قبل التحديث الخاص بنموذج الموظف من وجود قيم للحول الثلاثة المطلوبة. يؤدي حفظ سجل موظف جديد أو تم تحريره إلى تشغيل حدث قبل التحديث للنموذج، والذي يستدعي الوظائف العامة التي تتحقق من وجود القيم المطلوبة أو لا تستجيب لها.
تحتوي الوحدة النمطية modValidation على هذه الدالات:
-
التحقق من صحة نموذج
-
IsValidForm
-
HighlightInvalidControls
-
HighlightControl
-
ValidateForm_RemoveHighlights
إدارة الموظفين الجدد
يؤدي النقر فوق الزر إضافة موظف إلى تشغيل btnNewEmployee_Click الفرعي الخاص من أجل:
-
حفظ السجل الحالي و
-
تعيين تركيز النموذج إلى سجل
جديد '
حرف بدل مقابل حقول مسماة في استعلام تحديد
تستخدم عبارة SELECT في qryEmployees حرف البدل "*" لتحديد كافة الحقول في الجدول. يتضمن تصميم استعلام أحرف البدل تلقائيا أي حقول تمت إضافتها حديثا من جدول أساسي، وهو أمر غير ممكن مع قائمة حقول معينة. من ناحية أخرى، قد يسرد أحد الحقول المحددة لتقييد مجموعة السجلات التي تم إرجاعها إلى الحقول المطلوبة فقط في نموذج العرض فقط، على سبيل المثال.
اختيارات التصميم المناسبة
يجب أن تستند تصميماتك إلى النهج المناسب لمتطلباتك. على الرغم من أن التفضيل، عندما يكون ذلك ممكنا، عادة ما يذهب إلى النهج الأقل احتمالا أن يتطلب صيانة مستقبلية (أي نهج أحرف البدل).
مربعات التحرير والسرد المرتبطة بجداول البحث — نهجان
يتم عرض العناصر ذات الصلة، مثل مشرف الموظف، في القوائم المنسدلة أو مربعات التحرير والسرد في النماذج. المفتاح الخارجي فقط ل SupervisorID مطلوب في استعلام مصدر سجلات النموذج لأن هذا الحقل مرتبط بالحقل المفتاح الخارجي (SupervisorID). يعرض مربع التحرير والسرد أيضا قيمة النص المقابلة.
يجعل مربع التحرير والسرد المكون من عمودين مع عمود معرف مخفي وعمود وصف مرئي هذا العمل. في نموذج الموظف، يرتبط مربع تحرير وسرد المشرف باستعلام بسيط من عمودين. راجع الخاصية RowSource للمشرف.
ومع ذلك، في بعض الحالات، لا يحتوي جدول البحث على مفتاح أساسي منفصل، وبالتالي، فإن القيمة النصية نفسها هي المفتاح الأساسي.
عندما تكون قائمة القيم المحتملة صغيرة ومستقرة للغاية، مثل عنوان الموظف، غالبا ما تسمى المجال المغلق. تغيير قيم العنوان أو إضافتها ليس شائعا. جداول البحث عن المجال المغلقة مرشحة لنهج الاستعلام من عمود واحد.
في نموذج الموظف، يرتبط مربع تحرير وسرد العنوان باستعلام من عمود واحد للعناوين. راجع الخاصية RowSource للعناوين.
-
تعرف على المزيد حول النماذج المنقسمة
-
تعرف على المزيد حول التكامل المرجعي
-
إصدار مطور Northwind 2.0: جميع الموضوعات
-
Northwind 2.0 Developer Edition: أشياء يجب أن تعرفها