الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

وضع رموز لنتائج ثابته

بدأه الزنجبيل في 31 ديسمبر 2009 · 6 رد · 592 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اشكركم على اهتمامكم بمرتادي المنتدى والرد السريع على الاستفسارات فالله يوفقكم

استفساري اتوقع يكون سهل عندكم عكس ما هوعندي

الذي اريده ان اقوم بادخال بيانات ثابته لا تتغير في النماذج

فمثلا عندي جنسيات موظفين اقوم بادخال رمز وفي حقل الجنسية تظهر الجنسية المخزنة مسبقا مباشرة

فمثلا اذا كان الموظف سعودي أدخل الرقم 1 بعدها يظهر لي الجنسية مباشرة دون كتابتها واذا كان مصري ادخل رمز 2 يظهر لي مصري وهكذا

فأريد الله يجزاكم خير الطريقه حيث ان اصدار الاكسيس هو 2003 فأنا في أمس الحاجه

وجزاكم الله خيرا

#2

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

أخي الكريم لعل في المرفق ما يلبي طلبك

وبالتوفيق

koao1.zip

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#3

ألف مليون شكرا أخي المهاب والشهم koao

فقد نسخت ما في تصميمك لبرنامجي وقمت بتبديل الأسماء ونجحت والحمدلله

لكن عندي طلب وهو من باب ( لا تعطيني سمكة ولكن علمني كيف أصطاد)

فأطلب منك الطريقة التي عملتها وكيفية العلاقة بين الحقول وما وظيفة الحقل EmpId في الجدول الرئيسي

وشكرا جزيلا

#4
اقتباس

لكن عندي طلب وهو من باب ( لا تعطيني سمكة ولكن علمني كيف أصطاد)

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

فشكرا جزيلا لك اخي الكريم

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#5

أخي المشرف العزيز مهاااب

" من لا يشكر الناس لايشكر الله "

الشكر هو الأصل لمن يسدي إليك معروفاً أو يهدي لك خدمة من عنده سواء بمقابل أو بدون مقابل

فالشكر لايتعب البـدن ولا ينقص البصر ولا يجلب الحمَى بل هي كلمة باللسان تقال أو أربعة أحرف بالأنامل تكتب

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

من فريقكم الموقَّر ولحل المشاكل التي تواجهنا .

فالله يعينكم علينا وعلى ما نرميه في صناديقكم من مشاكل مع البرامج

والله يحفظكم

#6

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

أنت تامر أخي الكريم

بالنسبة للحقل EmpId فليس إلا عاده حسنه عند إنشاء الجداول فالحقل الرقمي يسهل عملية الفهرسة وتسريع البحث

وليس هناك علاقات بين الجداول إنما وضعت حقل رقمي Id في الجدول الثاني ليسهل إستخدامه في الكود وترميز الجنسيات

ومربع التحرير والسرد إنما هو لعرض الجنسيات مع رمزها .. لتذكير مدخل البيانات بها في حال نسي ... وليس لها دخل في النموذج

والآن لشرح الكود

في حدث ما بعد التحديث لمربع النص الحاص بالجنسية .. وضعنا الكود التالي

If IsNumeric(Me!EmpNationality) = False Then GoTo NotNo
    Dim x As String
    x = Nz(DLookup("[Nat]", "Nationality", "[Id] = " & Me!EmpNationality), "")
    If x = "" Then
NotNo:
        MsgBox "رقم الإختصار المدخل غير صحيح"
        Me!EmpName.SetFocus
        Me!EmpNationality.SetFocus
    Else
        Me!EmpNationality = x
    End If

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

في السطر الثاني عرفنا متغير نصي

في السطر الثالث نسند للمتغير الجنسية المقابلة للرمز المدخل في مربع النص للجنسية ... وبهذا السطر إستخدمنا دالة Nz وهي الدالة والتي في حال كان الراجع من الدالة بداخلة Null فإنه يرجع القيمة المعطاة له في المعامل الثاني لها وهو "" أي نص فارغ ... والدالة المستخدمة بداخلة هي DLookup وتأخذ المعاملات التالية

إسم الحقل وهو مطلوب ويكون بالصورة التالية .... "[FieldName1]"

إسم الجدول وهو مطلوب ويكون بالصورة التالية .... "TableName"

الشرط وهو إختياري ... والشرط غالبا يكون لحقل آخر .... ويكون بأحد الصور التالية ...

إذا كان الحقل رقمي والقيمة المعطاة صريحة

"[FieldName]=0"

إذا كان الحقل رقمي والقيمة المعطاة متغير أو قيمة عنصر تحكم

"[FieldName] = " & Me!ControlName

إذا كان الحقل نصي والقيمة المعطاة صريحة

"[FieldName]= 'Ali'"

إذا كان الحقل نصي والقيمة المعطاة متغير أو قيمة عنصر تحكم

"[FieldName] = '" & Me!ControlName & "'"

إذا كان الحقل تاريخ أو وقت والقيمة المعطاة صريحة

"[FieldName]= #1/1/2010#"

إذا كان الحقل تاريخ أو وقت والقيمة المعطاة متغير أو قيمة عنصر تحكم

"[FieldName] = #" & Me!ControlName & "#"

أتمنى تكون واضحة .... وبعد هذا الكود سيكون قيمة x جنسية توافق الرمز الذي وضعه مدخل البيانات ...

في السطر الرابع ... ماذا لو انه أدخل رقم غير موجود في قائمة الجنسيات .. فإن الدالة Nz كما ذكرنا ستعطيه القيمة "" لذا هذا السطر يختبر ما إذا كانت كذلك

في السطر السادس ... في حال تحقق الشرط السابق أو أن المدخل في خانة الجنسية ليس رقما كما ذكرنا سابقا فإنه سينفذ كود هذا السطر والسطران التالين ... وهم أولا إظهار رسالة تبين الخطأ ثانيا نريد أن نعيد التركيز لمربع النص الخاص بالجنسية ولكن بحكم أن التركيز الآن هو عليه ... فلن نستفيد من فعل ذلك لذا نحتاج أن نخرج بالتركيز أولا لذا حددنا التركيز إلى عنصر آخر (أي عنصر لا يهم) ثالثا نعيد التركيز لمربع النص الخاص بالجنسية

في السطر العاشر ... وفي لم يتحقق الشرط السابق ... فسنضع في مربع النص الخاص بالجنسية قيمة المتغير x والتي هي الجنسية

وبالتوفيق

وأشكر لك دماثة خلقك معي وجمال كلماتك .... وليس غريبا على أستاذنا همام أبو عرقوب ... متابعته ودعمه لكل شئ جميل ومحترم ... فشكرا له

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#7

الآن وضحت الصورة

شكرا لك اخي koao على الشرح الفضيع

والابداع في توصيل المعلومة

ولن نستغني أبدا عن خدماتك

مواضيع مشابهة