اذهب الي المحتوي
أوفيسنا

نجوم المشاركات

  1. محمد طاهر عرفه

    محمد طاهر عرفه

    إدارة الموقع


    • نقاط

      12

    • Posts

      8,493


  2. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      12

    • Posts

      1,681


  3. SEMO.Pa3x

    SEMO.Pa3x

    الخبراء


    • نقاط

      7

    • Posts

      535


  4. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      5

    • Posts

      4,357


Popular Content

Showing content with the highest reputation on 29 يون, 2021 in all areas

  1. السلام عليكم ورحمة الله وبركاته.. اقدم لكم النسخة الأولى من برنامج ادارة عيادة الطبيب.. النسخة تجريبية تغلق بعد فترة الغرض من طرحها لمعالجة العيوب والأخطاء لكي يتم طرحها فيما بعد.. الرجاء منكم ابداء ملاحظاتكم واقتراحاتكم واضافاتكم وهل النسخة تحتوي على أخطاء؟ لكي اقوم بتحسين النسخة القادمة كلمة المرور لفتح البرنامج = 313 المميزات الحالية: 1- التصميم responsive يدعم جميع الشاشات الكبيرة والصغيرة 2- طباعة الوصفة الطبية 3- اضافة الادوية ومجاميعها والملاحظات 4- تسجيل بيانات المريض والحجوزات 5- تسجيل المصروفات 6- تعديل الاعدادات DOCTOR_FILES.rar
    6 points
  2. تفضل التعديل لكي يبدء الترقيم من بدء من رقم 1 يبجب ان يبدء الترقيم من رقم صفر 0 Database0.zip Database0.mdb
    3 points
  3. لم اختبره بشكل كامل ولكن تجربة سريعة واجهت مشكلة في اختفاء جزء من الشاشة (الجزء السفلي) والتي تحتوي على الاوامر اغلاق النافذة الخ ولكن ربما لاستخدامي شاشة غير قياسية ايضا البرنامج يخفي شريط المهام لنظام التشغيل وهي مشكلة لمستخدمي لوحة مفاتيح اللمس ليست مشكلة عند استخدام لوحة مفاتيح فيزيائية في شاشة الطبيب عند اختيار المريض والنقر على مجموعة الدواء وكان الدواء غير مسجل يتطلب الخروج من الشاشة لاضافة الدواء ثم العودة بينما يمكن اضافة امر للدخول على اضافة الدواء دون الخروج من شاشة المريض ربما المشكلة الاكبر في حالة الدخول غير المشروع يمكن اجراء تعديلات من اضافة وحذف وتعديل على كافة البيانات الحقيقة لم اجرب البرنامج بشكل كافي و الملاحظات التي اشرت لها تبقى وجهة نظر ولا تقلل من جهودكم ماعدا الملاحظة الاخيرة فهي فعلا تمثل مشكلة
    2 points
  4. السلام عليكم مشاركة مع أستاذنا الغالي محمد صالح حفظه الله هذين الموضوعين فيهما طلب بإذن الله
    2 points
  5. المشكلة في عدم وجود الدالة OpenClsword وإذا أمكنك تحويل الحقول التي تريد تصديرها إلى استعلام سيكون أسهل في تصديره إلى وورد وهذا ملفك بعد إضافة موديول التصدير إلى وورد إرسال الحقول للوورد.accdb
    2 points
  6. السلام عليكم بالاضافة الى ما تفضل به اخي الحبيب واستاذي @د.كاف يار وله جزيل الشكر تفضل اخي الكريم Option Compare Database Option Explicit Private Sub Command0_Click() CurrentDb.Execute "UPDATE Table1 SET no_group = Null" CurrentDb.Execute "UPDATE Table1 SET no_serial = Null" Dim mySQL As String Dim rst As Recordset, rs As Recordset Dim i As Integer, k As Integer, L As Integer 1 On Error GoTo 2 mySQL = "Select * From Table1 ORDER BY stu_case , stu_sex " ' Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst For i = 1 To rst.RecordCount rst.Edit rst!no_serial = i rst.Update rst.MoveNext Next rst.Close: Set rst = Nothing 2 On Error GoTo Err mySQL = "Select * From Table1 WHERE stu_case = 1 ORDER BY no_serial " ' Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst For i = 1 To rst.RecordCount For k = 1 To 6 rst.Edit rst!no_group = i rst.Update rst.MoveNext Next Next rst.Close: Set rst = Nothing Call randx Err: Call randx End Sub Sub randx() Dim mySQL As String Dim rst As Recordset, rs As Recordset Dim i As Integer, k As Integer, L As Integer 3 On Error GoTo Err mySQL = "Select * From Table1 WHERE stu_case = 2 ORDER BY no_serial " ' Debug.Print mySQL Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst L = Nz(DMax("[no_group]", "Table1"), 0) + 1 For i = L To rst.RecordCount For k = 1 To 6 rst.Edit rst!no_group = i rst.Update rst.MoveNext Next Next rst.Close: Set rst = Nothing MsgBox "Done", vbInformation, "Officena" Err: End Sub Database03.rar تحياتي
    2 points
  7. اقترح عليك تبدء تبني جداولك على حسب طبيعة العمل لديك اقترح بناء الجداول التالية =============== الموردين =================== - جدول الموردين ( بيانات الموردين) - جدول التوريد ( جدول استقبال الاصناف (رقم قيد التوريد - التاريخ - الوحدة - سعر الوحدة - الكمية - سعر البيع - ........ الخ ) ) =============== الأصناف =================== - جدول الأصناف ( يحتوي على جميع الاصناف بدون السعر) =============== العملاء=================== - جدول العملاء - جدول الفواتير =============== الحركة=================== - جدول الحركة أو الجدول المالي لكي يتم تسجيل جميع الحركات المالية (رقم القيد - تاريخ القيد - نوع القيد - البيان - نوع الحركة (دائن - مدين- الرصيد))
    2 points
  8. عفوا كان فيه خطأ في ترقيم المجموعات اتفضل التعديل كذلك الترقيم عدلته تقدر تخليه يبدء من رقم 1 Database0.mdb 2Database0.zip
    2 points
  9. وعليكم السلام اخوي حسين 🙂 شكرا جزيلا على هذه الطريقة 🙂 هناك طريقة اخرى سهلة وقد تكون اكثر فائدة: على افتراض ان اسم البرنامج myDB.mdb : 1. عمل صورة بحجم 1x1 بكسل (مرفق نسخة) ، وتسميتها بنفس اسم البرنامج ولكن بصيغة bmp هكذا : myDB.bmp ، ووضعها في نفس مجلد الملف myDB.mdb ، بهذه الطريقة لن تشاهد اي شيء الى ان يفتح البرنامج (إلا اذا كنت شديد الملاحظة ورأيت الصورة بهذا الحجم 🙂 ) . 2. عمل صورة فيها اسم الشركة وشعارها وارقامها ، واسم البرنامج ، بالحجم المناسب ، وتسميتها بنفس اسم البرنامج ولكن بصيغة bmp هكذا : myDB.bmp ، ووضعها في نفس مجلد الملف myDB.mdb ، بهذه الطريقة يفتح البرنامج بهذه الصورة (ويفرح المدير 🙂) بدلا عن شاشة الاكسس Splash screen 🙂 . جعفر 1x1_For_Hiding_Splash_Screen.bmp
    2 points
  10. هنا سنتحدث عن حقل المفتاح و الفهارس أولاً المفتاح تحديد أو الغاء تحديد خاصية المفتاح من ايقونة المفتاح التي تظهر فى الأعلي فى وضع تصميم الجداول حقل المفتاح : ما هو ، و لماذا نستخدمه ؟؟ ترجع قوة قاعدة البيانات العلائقية مثل الأكسس ، الي القدرة علي البحث و استرجاع البيانات بسهولة و سرعة مع كونها مخزنة فى عدة جداول ، و ذلك من خلال الاستعلامات و النماذج و التقارير. لذلك يجب أن يحتوي كل جدول علي حقل أو مجموعة حقول تعرف السجلات المخزنة فى الجداول بطريقة وحيدة ، أي أن هناك رقم أو رمز واحد يعرف كل سجل بكل ما فيه من بيانات ، و يمكننا أن نتخيل أن السجلات عبارة عن شارع به العديد من االعمارات (السجلات ) و ان كل سجل يحوي مجموعة من الحقول ( الشقق) ، فلا بد لكل عمارة أن يكون لها رقم وحيد لا يتكرر ليعرف ما بها من بيانات ، بالطبع التشبيه لا يصلح تماما و لكنه لتقريب المفهوم فقط و المعلومة التي يتم من خلالها تعريف السجل بكل محتوياته هي ال Primary Key و المهم فى رقم المفتاح هو الا تكرر قيمته فى أي سجل من السجلات ، و ألا يسمح بتركه بدون قيمة أي فارغ ( Null) و يمكن لحقل المفتاح أن يكون رقما أو نصاً و لكن المهم ألا يسمح بتكراره ولا بتركه بدون قيمة و النوع الافتراضي الذي يحدده الاكسس لحقل المفتاح هو AutoNumber أي حقل تزيد قيمته تلقائيا مع ادخال أي سجل فيه ، و هو أنسب الأنواع لكي يضمن المستخدم عدم تكرار القيمة أو تركها فارغة. و بالطبع يمكن استخدام حقل من نوع آخر بحسب الحاجة. و بذلك يكون نوع حقل المفتاح واحد من ثلاثة حقل ترقيم تلقائي Autonumber حقل غير متكرر و له قيمة Unique & Not Null متعدد الحقول Multi - Field Primary Key المفتاح متعدد الحقول ( المفتاح المركب ) : هذا النوع نلجأ اليه فى حالة عدم ضمان الحصول علي حقول فريدة ، فنلجأ لاستخدام أكثر من حقل كمفتاح للسجلات لكي نضمن أن المفتاح غير متكرر ، فاذا تكررت القيمة 4 مرات مثلا فى الحقل الأول تكون القيمة المناظرة فى الحقل الثاني غير متكررة فى هذه الأربع سجلات فمثلا فى الشكل التالي نجد أن القيمة 102 تكررت فى الحقل الاول و لكن ما يناظرها فى الحقل الثاني قيم مختلفة. فكل سجل فى هذا الجدول يعرف بقيمة فريدة لكل من الحقلين معا و ليس لكل حقل علي حدة ولكي نقوم بعمل مفتاح مركب بين الحقلين نختارهما معا فى نفس الوقت ثم نضغط علي زر المفتاح فى الايقونات العلوية فيظهر مفتاحين امام الحقلين فى وضع التصميم ، و هذا يعني أنهما يمثلان مفتاح مركب للسجل و الأن لنتأكد من هذا الكلام لنحاول اضافة قيمة مكررة للحقلين معا كما فى الجدول المبين فسيرفض الاكسس قيمة السجل الاخير ( الذي يظهر امامه القلم علامة علي أنه فى وضع التحرير ) و ستظهر رسالة تدل علي رفض قبول السجل الجديد ، و هذا لتعارضه مع المفتاح المركب بين السجل الجاري اضافته و السجل الاول و أخيرا لازالة خاصية المفتاح من حقل معين يتم ذلك بالضغط ثانية علي زر المفتاح الفهارس يساعد الفهرس فى الوصول الي السجلات و فى ترتيبها بطريقة أسرع ، و يمكن وضع فهرس علي أكثر من حقل ، و الفهارس علي حقول متعددة تفيد فى التمييز بين السجلات فى حالة السماح بتكرار قيم الحقول . حقل المفتاح يكون مفهرس بصورة آلية ، و لا يمكن عمل فهرس علي حقل من نوع (OLE(Object Linked or Enbeded و لكن بهذا المنطق يجب وضع فهرس علي الحقول التي نرتب بها و التي نبحث فيها و التي نستخدمها للربط بين الجداول ، و لكن لا تصلح هذه القاعدة للتطبيق عمليا ، فهناك جانب آخر للمشكلة و هو أن كثرة الفهارس تؤدي لبطيء تنفيذ بعض الاستعلامات و الاوامر لذلك علينا الموازنة و استخدام الفهارس للحقول الضرورية فقط لا غير لانشاء فهرس جديد نختار الحقل المطلوب فهرسته ، و ليكن الحقل n كما فى الشكل المقابل ثم نتجه الي الجزء السفلي من الشاشة فى خانة indexed و نختار أحد الخيارات الآتية : Yes No Duplicates أو Duplicates OK و الأول يعني أنه حقل مفهرس فقط أما الثاني فيعني أنه مفهرس مع عدم السماح بتكرار القيم المدخلة و للخيار الثاني فائدة أخري ، و هي عدم السماح بتكرار القيم أثناء إدخال البيانات لاستعراض الفهارس الموجودة في جدول ما نختار فتظهر الشاشة التالية : و منها نستعرض و نستطيع أن نغيير خصائص كل من حقول المفتاح و الفهارس و نلاحظ ان الاتجاه الافتراضي للترتيب هو التصاعدي ، و بمكن تغييره بحسب الحاجة و الآن كيف نمنع أن ندخل قيم مكررة فى حقلين مختلفين ؟ عن طريق الفهارس نختار الحقل الاول و نختار أي اسم للفهرس الاول ، و ليكن هو نفس اسم الحقل ( n ) ثم نتجه للعامود الثاني و نختار اسم الحقل ثم نختار اصف الثاني و ننتقي الحقل من العمود الثاني فيه بدون تحديد اسم ثم نرجع الي الحقل الاول و نغير خاصية Unique الي Yes و أخيرا ، عادة ما يلجأ المصمم لنسخ حقل من جدول الي جدول و التعديل فيه كنوع من توفير الوقت ، بدلا من اعادة الادخلات ، و هذا قد ينتج عنه مشاكل فى الفهارس ، تؤدي الي بطيء القاعدة و لذلك ينصح عند انتهاء مرحلة تصميم الجداول ، بعمل مراجعة شاملة علي الفهارس ، و التأكد من عدم وجود فهارس غير مرغول فيها ، نتجت عن نقل حقل من جدول آخر أو من أي سبب آخر . المهم هو ضرورة مراجعتها مع انتهاء تصميم الجداول
    1 point
  11. السلام عليكم تواكبا مع متطلبات الواقع و المستقبل ، تم افتتاح مجموعة أقسام جديدة تختص بالبحث العلمي و علوم البيانات و من ضمنها هذا القسم ، و هو يختص بالمواضيع الخاصة بالذكاء الاصطناعي Artificial Interlligence و التنقيب فى البيانات Data Mining نذكر الزوار الجدد بقواعد المشاركة فى منتدى أوفيسنا ، و من أهمها احترام حقوق الملكية الفكرية و منع نشر أي مواد أو تطبيقات دون موافقة أصحابها.
    1 point
  12. الدالة الغبية والدالة العبقرية الدالة () DLookup والدالة () ELookup هل تصدق ان هناك دالة غبيه قد تستغرب ان اقول لك انها دالة () DLookup والكل منا يعرفها ويعرف استخداماتها فهي ببساطة تعيد او تسترجع قيمه واحدة من الجدول . عيوبها : 1. تعيد اول قيمة فقط تم وضعها في الدالة في عملية البحث . 2. لا تستطيع بإي حال من الاحوال اعادة الحقل المفهرس . 3. قد تحصل على نتائج متناقضة ومتقلبة حتى من نفس نوع البيانات التي تبحث عنها اذا كان لا يوجد مفتاح اساسي في الجدول وقمت بعملية ضغط قاعدة البيانات . ( جرب بنفسك وأنظر النتائج الغبية التي تعطيك هذه الدالة ) . 4. اداء هذه الدالة سيئ للغاية فهو لا يقوم بمسح ما تم البحث عنه سابقا ويفترض ان تكون القيم خالية بعد عملية كل بحث . 5. ظهور العديد من الاخطاء والرسائل من الاكسيس عندما تكون القيم خاليه . الدالة () ELookup العبقرية هل احد منكم سمع عن هذه الدالة ( دالة جديده تم اختراعها ) لنرى إمكانات هذه الدالة 1. قمة في الاداء والابهار والقوة والمتانة والمرونه . 2. تسمح لك بتحديد اي نوع من البيانات ولا تتقيد يحقول معينه . 3. تسمح لك بإستخدام الاقل MIN والاعلى MAX من القيم . 4. بعد عملية البحث والبدء بعملية استخدام جديده تجد القيم خالية وجاهزة لتقبل اي امر . 5. اسرع من الدالة () DLookup بعشر مرات . 6. قد ترغب في تعديل مسار البحث قبل استعمال الدالة فتستطيع ذلك بدون ظهور رسائل MsgBox لكل صف . 7. تقوم هذه الدالة بتمييز وتحسس ومعرفة ان هذا الحقل Zzero-length( طول صفري ) او خالي من البيانات Null . 8. اذا استخدمت في الاستعلامات فأنظر الى النتائج الباهره حتى لو استخدمت معها اربعة معايير مختلفه . قد يكون عيبها الوحيد انها تحتاج الى مكتبة DAO وهذا ليس بعيب ولكن لانها ليست من دوال برنامج الاكسيس . امثلة على طريقة استخدامها 1. ايجاد القيمة الاخيرة متضمنة الـ DESC ELookup("[Surname] & [FirstName]", "tblClient", , "ClientID DESC") اذا رغبت في اضافة حقول اضافية قم بالاضافة فهي تقبل جميع الحقول ولا تقتصر على حقل معين 2. ايجاد القيم الاقل الغير خالية Null بإستعمال المعايير ELookup("ClientID", "tblClient", "Surname Is Not Null" , "Surname") واليكم الدالة الجباره بكل معنى الكلمة ويفضل مقارنة نفس النتائج مع الدالة السابقة لتروا الفرق كل ما عليك هو وضعها في وحدة نمطية ومن ثم استخدامها سواء في النماذج او الاستعلامات او التقارير او الماكرو . Function ELookup(Expr As String, Domain As String, Optional Criteria, Optional OrderClause) On Error GoTo Err_ELookup ' DAO ملاحظة: تحتاج الى مرجع مكتبة Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSql As String 'بناء جملة الاستعلام strSql = "SELECT TOP 1 " & Expr & " FROM " & Domain If Not IsMissing(Criteria) Then strSql = strSql & " WHERE " & Criteria End If If Not IsMissing(OrderClause) Then strSql = strSql & " ORDER BY " & OrderClause End If strSql = strSql & ";" 'البحث عن القيم Set db = DBEngine(0)(0) Set rs = db.OpenRecordset(strSql, dbOpenForwardOnly) If rs.RecordCount = 0 Then ELookup = Null Else ELookup = rs(0) End If rs.Close Exit_ELookup: Set rs = Nothing Set db = Nothing Exit Function 'zahrah Err_ELookup: MsgBox Err.Description, vbExclamation, "ELookup Error " & Err.Number Resume Exit_ELookup End Function
    1 point
  13. جولة ثانية في البرنامج وهنا ساتحدث عن الايجابيات وهي ايضا وجهة نظر التصميم رائع واعجبني جدا لا اتحدث عن الالوان وانما اتحدث عن تصميم النماذج وتوزيع الحقول والقائمة الجانبية للشاشة الرئيسية وازرار الاوامر جميعها تعطي صورة عن لغة وفلسفة التصميم لدى المبرمج وضوح الهدف من البرنامج ادى الى اعداد برنامج يمكن التعامل معه بكل سهولة وبدون الحاجة الى تدريب وبخطوات عمل بسيطة للسكرتير وللطبيب بدون تعقيد اود ان اضيف ملاحظة لو امكن وضع زر امر لطباعة الوصفة الطبية من نفس شاشة واجهة الطبيب في المجمل عمل رائع ويستحق الاشادة
    1 point
  14. وعليكم السلام ورحمة الله وبركاته يمكن استخدام الدالة DLookup بحيث انك كلما اردت تسجيل اجازة موظف يعمل على جلب بيانات اجازة ذلك الموظف قبل اعتماده وهكذا ....
    1 point
  15. 3-1 مقدمة الي الاستعلامات 11-8-2003 3-2 إستعلامات الاختيار - 1 12-8-2003 3-3 استعلامات الاختيار - 2 + الاستعلام المحوري 19-8-2003 3-4 تقسيم لانواع الاستعلامات 25-8-2003 3-5 الاستعلام ذو المتغيرات 29-8-2003 3-6 إستعلام الحذف 5-9-2003 3-7 إستعلام التحديث 10-9-2003 3-8 استعلام الإلحاق14-9-03 3-8 استعلام إنشاء جدول ---17-9-2003 3-11 إستعلام التوحيد 24-9-2003 3-12 باقي استعلامات الاس كيو ال 20-10-2003 ---------------------------------------- وصلة دروس تصميم الجداول http://www.officena.net/ib/index.php?showtopic=2218
    1 point
  16. ماشاء الله عمل متميز من استاذ كبير كلمة المرور 313 اعتقد الدكتور نسي يضعها في المشاركة
    1 point
  17. ادرجت حصص فى يوم الخميس لتجربة وهذة صوره منها جدول الحصص.xlsm
    1 point
  18. استاذى الفاضل جزيل الشكر والعرفان مجهود مشكور عليه حضرتك ربنا يجزيك خيرا ومعلش حاغلس على حصرتك جدول محمد صبحبى جدول رقم 3 جدول المعلم بيتم توزيع حصص له سابعة وثامنة رغم ان الكشاف مفيش سابعة وثامنة ولكم احترامى وتقديري جدÙ_Ù_ اÙ_Ø_صص.xlsm
    1 point
  19. استاذ عطية جزاكم الله خير على كلامك الطيب اتفضل التعديل 1484268399_.rar جدول الحصص.xlsm
    1 point
  20. نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا وزادنا علما
    1 point
  21. لا ، فقط الملفات بصيغة bmp 🙂 ويمكنك تحويل اي من ملفات الصور الى صيغة bmp ، سواء عن طريق برامج الصور او مواقع الانترنت 🙂 جعفر
    1 point
  22. 1 point
  23. ماشاء الله لا قوة الا بالله شغل نظيف و مرتب
    1 point
  24. جزاك الله خيرا اخي الكريم وكلنا بحمد الله نستفيد من بعض في هذا الصرح العلمي العملاق بارك الله في القائمين عليه تحباتب
    1 point
  25. استاذ وجيه كل الشكر والتقدير والعرفان والامتنان لحضرتك ومعلش انى اتاخرت في شكر حضرتك وبوخت عليك كمان وطلبت طلب تاني قبل تقديم الشكر اسف ولكن جل من لا يسهو وشكرا عم هانى على التذكير فالمسلم مراة اخيه وانت نبهت ووجب علينا الرجوع الى الحق
    1 point
  26. تكمن المشكلة في أنك تقوم بعمل سلسلة لا نهائية من استدعاء الكود بحيث أن تقوم بتغيير المعادلة وهذا تغيير يتطلب تغيير المعادلة وهكذا وحل هذه المشكلة في تحديد نطاق التغيير مثلا بعد الصف 8 وقبل العمود 8 وعليه يكون الكود Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 8 And Target.Column < 8 Then Range("h" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,$B$7*F" & Target.Row & "*(1+G" & Target.Row & "))" Range("i" & Target.Row).Formula = "=IF(ISBLANK(A" & Target.Row & "),0,E" & Target.Row & "*H" & Target.Row & ")" End If End Sub بالتوفيق
    1 point
  27. جمل تعريف المتغيرات Dim او Private او Public او Global او Static تحفظ جزء من الذاكرة لهذا المتغير ، وهي تخبر البرنامج عن نوع المتغير (نص او رقم او تاريخ او .. ) ، ولكن الافضل ان تستعمل Dim بـ : Option Compare Database Option Explicit dim int_B as integer Private Sub cmd_frm_m1_Click() Dim str_A as string بهذه الطريقة ، الاكسس يساعدك ويخبرك عن مكان الخطأ في المتغير ، قبل بدء تشغيل البرنامج ، اذا استعملت ويكون البرنامج اسرع في العمل 🙂 جعفر
    1 point
  28. عليكم السلام المشكلة عندك سببها ان امان الماكرو في اكسس على جهازك مرتفع جرب تخفيض امان الماكرو الى الحد الأدنى
    1 point
  29. من وجهة نظري بأن يأي برنامج للفواتير لابد بأن يتكون من الجداول التالية *** - جدول المواد ( المواد الخام (كود المادة - اسم المادة - وصف المادة - .... الخ)) *** - جدول التوريد ( كود المادة - تاريخ التوريد - سعر التوريد - سعر البيع - التخفيض المسموح - ...... الخ ) - جدول المبيعات + باقي الجداول السبب المادة ثابته من ناحية الاسم و الوصف على الأغلب لكن السعر متغيير و يتم توريد مواد ضافة قد تكون مختلفة في سعرها عن السابق بالتالي تستطيع السحب من المخزون القديم حتى ينتهي و تبدء من السحب من المخزون الأجدد فالأجدد الترابط و الربط مهم جدا بين الجداول حتى لا يحصل تداخل
    1 point
  30. فكرة جدا ممتازة على الافل اثناء فترة الانتظار يتم عرض بروفايل مصغر للشركة
    1 point
  31. وعليكم السلام ورحمة الله وبركاته جميل بارك الله فيك الملاحظة التي وجدتها هي النوع ( الجنس ) يوجد خطأ بالكود التالي If s = 1 Then Me.s1.Value = "ذكر" Else Me.s1.Value = "أنثى" End If يرجى استبداله بالتالي Dim XXX As Long XXX = Mid([b], 13, 1) Select Case XXX Case Is = 1, 3, 5, 7, 9 Me.s1.Value = "ذكر" Case Is = 0, 2, 4, 6, 8 Me.s1.Value = "أنثى" End Select الرقم القومي المصري.rar تحياتي
    1 point
  32. شكرا جزيلا يا باشا 🙂 جعفر
    1 point
  33. المجموعة الأولي ( نشرت فى 5-7-2003 ) : 1-0 البداية 1-1 مقدمة الي الأكسس 1-2 مراحل إعداد البرنامج --------------------------------------------- المجموعة الثانية نشرت فى 8-7-2003 : 2-0 تصميم الجداول 2-1 إنشاء الجداول (1) 2-2 إنشاء الجداول (2) 2-3 إنشاء الجداول (3) 2-4 أنواع البيانات فى الأكسس --------------------------------------------- 2-5 المفتاح و الفهارس 12-7-2003 2-6 التعامل مع البيانات فى الجداول 12-7-2003 2-7 خصائص الحقول 1 (17/7/2003) 2-8 خصائص الحقول 2 19-7-2003 2-9 العلاقات بين الجداول 23-7-2003 2-10 أسلوب الرسم التخطيطي لعلاقات الكيانات 29-7-2003 --------------------------------------------- 2-11 مسودة تحليل نظام مشروع الدورة 1/8/2003 -------------------------------------------- 2-12 تصميم جداول المثال 6-8-2003 ------------------------------------------- وصلة دروس الاستعلامات من هنا
    1 point
  34. التعامل مع البيانات فى الجداول لاضافة بيانات : أنشيء جدول باحدي الطرق الثلاثة السابقة افتح الجدول فى وضع ورقة العمل datasheet view باختيار الجدول ثم open أو بالنقر المزدوج عليه إضغط علي الخلية الأولي ، و ابدأ فى الكتابة ملاحظة : السجل الذي تدخل فيه البيانات حاليا ، تظهر بجواره علامة قلم صغير للدلالة علي انه يتم تحريره حاليا . للانتقال الي الحقل التالي اضغط Tab و للانتقال الي الخلية السابقة اضغط Shift + Tab إضغط علي أزرار التنقل ( الأسهم للانتقال خطوة واحدة فى اتجاه السهم ) لتكرار البيانات الموجودة فى الخلية الأعلي : CTR + ' لالغاء ما كتبت مباشرة بعد كتابته : CTR + Z لتعديل بيانات مكتوبة : تحرك بالماوس فوق الكلمة المراد تعديلها ، و أدرج المؤشر فى النقطة التي تريد التعديل فيها أو اختار كلمة أو مجموعة حروف لاستبدالها حذف السجلات أولا اختار سجل واحد من المربع الرمادي الموجود فى بداية السجل او مجموعة سجلات ، باختيار اول سجل و ضغط شيفت ، ثم اختيار السجل الأخير و لكي يتم الحذف : اضغط علي ايقونة الحذف رقم 5 و الموجودة بجوار أيقونة الاضافة رقم 4 او اضغط علي زر DELETE أو من القائمة المختصرة للماوس Delete Record أو من قائمة EDIT نختار Delete Record نسخ و قص و لصق السجلات أولا اختار سجل واحد من المربع الرمادي الموجود فى بداية السجل او مجموعة سجلات ، باختيار اول سجل و ضغط شيفت ، ثم اختيار السجل الأخير و استخدم الايقونات الشهيرة للقص و النسخ و و ختار الخلاية التي تريد اللصق اليها و اختار اللصق و طبعا يمكن تنفيذ نفس الاوامر من قائمة Edit او بالاختصارات علي التوالي : CTR + X للقص CTR + C للنسخ CTR + V لللصق أو من القائمةالمختصرة للماوس ترتيب البيانات اختار الحقل الذي تريد الترتيب علي اساسه ، و اختار ايقونة الترتيب سواء التصاعدي أو التنازلي أو من Records , Sort, Ascending or Descending تصفية البيانات اذا كنت تريد قصر العرض علي بيانات محددة لها خاصية تجمعها فتوجد أكثر من طريقة لتصفية البيانات ( عمل فلتر ) اذا كنت تريد عمل التصفية بكلمة أو أكثر او جزء من كلمة ، فاخترها ثم من القائمة المختصرة للماوس ، اختار Filter By Selection أو اضغط مباشرة علي الايقونة رقم 1 هنا فتظهر فقط السجلات التي تحوي ما تم اختياره فى الحقل المناظر و للاختيار العكسي اختار Filter Excluding Selection فيظهر كل ما لا يحوي ما تم اختياره و يمكن أيضا تنفيذ تلك الأوامر من قائمة Records Filter و لازالة الفلتر ، نختار remove Filter من القائمة المختصرة أو من قائمة Filter أو اعد الضغط علي ايقونة الفتر و التي ستجدها مضغوط عليها عند تطبيق أي فلتر ( الايقونة رقم 3 ) طريقة أخري اختار الحقل الذي تريد تطبيق الفلتر عليه و انقر بالزر الايمن للماوس ، و اختار Filter For و اكتب معيار الفلتر المطلوب تنفيذه و يمكن أيضا استخدام ال * للتعبير عن جزء غير معلوم من المعيار مثل *مد فكانك كتبت أي شيء يتنهي ب "مد" و الآن بقي لنا بندان من البنود الموجودة فى قائمة Records Filter الا و هما Filter By Form و Advanced Filter و لنبدأ ب Filter By Form الا و هو التصفية من خلال النماذج و يوجد له ايقونة مخصصة فى الايقونات ، و هو الفلتر و بجانبه نموذج ، الايقونة رقم 2 و عند اختياره ، يظهر اطار به كل رؤوس او أسماء حقول الجداول ، و و باختيار أحد الحقول تنفتح قائمة سرد تحوي محتويات هذا الحقل ( البيانات المسجلة فيه ) فنختار ما نريد منها ، ثم نضغط علي زر Apply Filter لتفيذ الفلتر و هنا يمكن وضع الشروط علي أكثر من حقل فتكون الشروط من نوع AND مثل الاسم = محمد طاهر و البلد = مصر و المهنة = مهندس و هذا باختيار تلك القيم فى الحقول المناظرة و نلاحظ أنه يمكن استخدام معاملات > و < و Like و الأخيرة تستخدم للنصوص مثال فى حقل العمر >15 فى حقل البلد "السعودية" لكل ما ينتهي بال م Like "*م"" و اذا أردنا اضافة شروط اضافية من نوع OR أي "أو" نجد علامة تبويب فى اسفل الاطار ، نختارها لاختيار الشروط الاضافية من نوع or و ايضا لتطبيق الفلتر نضغط علي ايقونة الفلتر ( رقم 3 ) فى الشكل السابق و لازالته نضغط عليها ثانية أو من قائمة records ِapply filter Sort remove Filter Sort و الان لنجرب سويا الفلتر علي الجدول المرفق اذا فتحنا الجدول ، نجد فى الاسفل أن عدد السجلات المعروضة 11 سجل نريد تطبيق الفلتر الاتي : أن كود البلد = 2 فكما سبق ـ اما أن نختار رقم 2 فى كود البلد فى أي سجل ، و نختار ايقونة التصفية بالاختيار أو من القائمة المختصرة ، أو من القائمة العلوية و فى كل الاحوال ستكون النتيجة أن عدد السجلات 3 بدلا من 11 و الان لنجرب الفلتر بالنموذج أو لا نزيل الفلتر الموجود بالضغط علي ايقونة الفلتر ثم نختار الفلتر بالنموذج و نختار فة حقل المرتب salary الرقم 1000 من القائمة ثم نضغط علي زر الفلتر فتكون النتيجة سجلان لسمير و تامر و الان نريد أن نختار كل من مرتبه أقل من 1000 فنختار ثانية الفلتر بالنموذج ، و فى حقل المرتب نكتب <1000 فتكون النتيجة 4 سجلات للموظفين 5و6و9و11 و هنا قبل التطبيق يجب التأكد من عدم وجود شروط أخري ، حيث أنه يحتفظ بالتصفيات السابقة ، فمن يظهر له سجل واحد بدلا من 4 فسيكون فى حقل كود البلد مكتوب شرط أنه يساوي 2 و عليه ازالة هذا الشرط قبل التطبيق و الان التجربة الخيرة نريد شرط مركب ان الاسم يبدأ بحرف ال A و معه أن البلد = 1 لنكتب فى الاسم A و تليها * و سنجدها تتحول اليا الي Like "a*" و نضيف شرط كود البلد ، ثم نطبق الفلتر ، فتكون النتيجة سجلان أحمد و عبده --------------- و الخيار الأخير هو الفلتر المتقدم advanced Filter و هو يتيح التصفية و الترتيب سويا ، و هو يناظر التعامل مع الاستعلامات كما سنري لاحقا و للتعامل معه ننقر نقرا مذدوجا علي الحقل المراد تطبيق المعايير عليه أو نسحبه الي الشبكة و نجد اسفل اسم الحقل خانتان الاولي لاختيار نوعية الترتيب تصاعدي أو تنازلي و الثانية لوضع المعايير الخاصة بالتصفية ، و يتم التعامل معها بنفس طريقة التعامل مع التصفية من خلال النماذج و طبعا يمكننا اختيار أكثر من حقل ووضع أكثر من معيار لكل حقل و ذلك فى الخلية الاخير المعنونة ب OR و الآن الي المثال السابق و قبل أن نطبق المثال الجديد ، حاول تطبيق التجارب السابقة من خلال الفلتر المتقدم و بالطبع سنحصل علي نفس النتيجة و لكن لنجرب التجربة الأولي سويا أن كود البلد = 2 أولا نفتح الجدول ، و نختار فلتر متقدم ، و سنجد أخر فلتر نفذناه مكتوب كقيمة افتراضية فنقوم بازالة العمودان فى الاسفل و نختار مجددا كود البلد بسحيه الي الشبكة أو النقر المزدوج عليه فنجد أن اسم الحقل قد كتب فى خانة Field و فى خانة Critera نكتب 2 و نختار زر الفلتر ، فنجد أن المعروض 3 سجلات و هنا يمكن التحكم فى الترتيب مثلا لو أردنا عرض تنازلي بالاسم نختار حقل الاسم بالنقر المزدوج أو السحب ثم فى خامة الترتيب نختار descending و نترك خانة المعيار Criteria خالية و نضغط علي زر الفلتر لنرس السجلات الثلاثة مرتبة تنازليا بالاسم و الان الي المثال المركب نريد الاسماء التي تبدا ب M or A و يكون العرض مرتبا بالمرتب و البلد لا تساوي 2 و بتطبيق الفلتر نجد الموظفين معروضين بالترتيب التالي 6 ، 11 ، 1 ، 2 و كما ذكرنا ، فان خصائص التصفية المختلقة يتم الاحتفاظ بآخر ما نفذ منها قكيمة الفتراضية للتصفية القادمة ، مع اختلاف الاسلوب المتبع و عليه ، فاذا فتحنا الفلتر بالنموذج سنجد المثال السابق مكتوب فيه استعدادا لتنفيذه ، و هنا سيتضح لنا كيفية الاستفادة من علامة التبويب OR لتطبيق المثال السابق و الآن أترككم مع تطبيق الامثلة السابقة :)
    1 point
  35. الحمد لله الذي جعل العلم ضياء والقرآن نوراً الحمد لله الملك الحق المبين ، الذي هدانا إلى الإيمان واليقين نحمــده تعالى وهـــو الرب الجليل ، الهادي إلى ســـواء الســـبيل ، الذي لا يخفى عليه الكــثير ولا القليــل . والصلاة والسلام على المبعوث في الأميين معلماً ورسولاً ومرشداً وحكيماً وأشهد أن لا إله إلا الله وحده لا شريك له أمر بإتباع الحق ونهى عن إتباع الباطل ، ورفع من شأن العالم دون الجاهل ، وأشهد أن سيدنا محمداً عبده ورسوله جــــاء بالحــــق المبــــين ، فكان رحمــــة للعالمين ، صلى الله عليه وعلى آله وأصــحابه وســـلم تســـليماً كــــثيراً . اللهم اجعل العام الهجري الجديد فاتحة خير علي المسلمين وبلاد المسلمين ا أحبائي واخواني في منتديات اوفيسنا الاحبة كشجرة الياسمين لا تكتفـــي أن تظـــلك بـــــــل لا تترككــ الا معطــــرا بعبيرهـــا فاســعد الله من كانوا دومــــا زهــــور الياسمــين في حـــياتنا . موضوعنا اليوم حول برنامج يخدم شريحة من الطلبات لادارة النشاط التجاري والخدمي وراعينا ان يكون البرنامج سلس ومرن ليتناسب مع اغلبية الاحتياجات . وايضا لاستكمال مواضعينا السابقة عن دمج الاكسل ببرامج التصميم المختلفة والتحكم في خصائص الادوات لليوزرفورم . برنامج نور التجاري والخدمي اول انتاج مشترك بيني وبين اخي الحبيب العبقري / شوقي ربيع في سلسلة البرامج الخدمية ان شاء الله تعالي . البرنامج يقوم بإدارة النشاط بصــفة عامة ، وادارة عمليات البيع بإصدار الفواتير ، وطباعتها ، واصدار ســـندات القبض وطباعتها ، وادارة العمليات المتعلقة بفواتير الشراء ومرودتها واثبات عمليات الشراء والاصناف واصدار سندات الصرف وطباعتها . الجديد في البرنامج كثيرا تم طرح نماذج فواتير بيع باضافة عدد محدد من التكسات بما يتناسب مع صفوف الفاتورة الواحدة لكن في البرنامج تناولنا الموضوع بطريقة اخري باضافة عدد تكسات رئيسية تقوم بترحيل الي ليست بوكس ومنها الي الشيت وبذلك يمكن اصدار الفاتورة بعدد لا محدود من الاصناف وطباعتها . شاشة الدخول اسم المستخدم وكلمة المرور الافتراضية admin الشاشة الرئيسية للبرنامج شرح واعداد البرنامج بالكامل اضغط هنا بالمرفقات اللهم اجعلنا ممن طاب ذكرهم ، وحسنت سيرتهم ، واستمر أجرهم في حياتهم وبعد موتهم اللهم امين Nour Commercial V 1.0.0.rar
    1 point
  36. تم اضافة الاصدار الخامس - سبتمبر 2012 إسم الملف: مُجمِع البيانات للاكسيل - Excel Data Collector أضيف للمكتبة بواسطة: محمد طاهر تاريخ الإضافة: 12 Sep 2011 القسم فى المكتبة: قسم الإكسيل هذا التطبيق يقوم بتجميع البيانات من كافة ملفات الاكسيل الموجودة فى مجلد معبن وفق مجال الخلايا الذي يتم تحديده خطوات الاستخدام ضع كافة الملفات المطلوب تجميع البيانات منها فى مجلد واحد حدد مسار المجلد و مجال الخلايا المطلوب تجميع البيانات منها قم بتشغيل التطبيق من زر Get Data ، سيتم تجميع البيانات من كافة الملفات فى ملف جديد ميزة اضافية اذا اردت استخدام التطبيق اكثر من مرة على عدة مجلدات ، فتوفيرا لخطوات اختيار المجلد المستهدف ، يمكن تحديد مجلد بدء الاختيار الافتراضي، ليبدا اختيار المجلدات منه فى كل مرة أثناء استخدام الملف بدلا من البدء من My Computer . و يمكن عمل ذلك بتحرير الخلية مباشرة ، فمثلا نكتب المسار d:\data الاصدار الثاني إضافة امكانية تحديد ورقة عمل محددة داخل الملفات باسمها ، اكتب اسم ورقة العمل او اتركها خالية للعمل افتراضيا على ورقة العمل الاولي فى جميع ملفات المصدر الاصدار الثالث تم اضافة المزايا التالية : 1- استخدام نموذج بدل من الازرار المباشرة نظرا لاضافة خيارات عديدة ، و يتم تسجيل مسار المجلد و اسم ورقة العمل و المجال المطلوب للخلايا المراد تجميع البيانات منها فى الحقول المناظرة. 2- فى حال عدم تسمية ورقة العمل سيتم التجميع من ورقة العمل الاولي فى جميع المفات داخل المجلد. 3- اضافة تلميحات tips بالعربية عند الوقوف بالماوس على الحقل للتوضيح. 4-امكانية اختيار تجميع البيانات فقط أو تجميع البيانات و التنسيق معا من ملفات المصدر الموجودة داخل المجلد المختار. 5- امكانية اختيار اظهار او اخفاء امتداد اسماء الملفات عند وضعها كعنوان للبيانات فى الملف التجميعي. 6- امكانية السماح بتكرار اسم الملف عند وجود اكثر من عمود يتم استخراجه من نفس الملف ، او الاكتفاء بخلية واحدة مع دمج العناوين. 7- اضافة اطار خارجي يوضح بيانات كل ملف الإصدار الرابع - تنقيح و ترتيب داخلي للكود - تعديل واجهة الاستخدام - امكانية استخراج البيانات دون فتح ملفات المصدر كخيار اضافى ، على أن يتم ذلك دون جلبها بنفس تنسيق المصدر. و هنا يوجد خياران للتشغيل الخيار الأول ، و هو الخيار الأصلي Get Data While Opening Files و به كافة الامكانيات فى الاصدار الثالث ، و امكانية عدم تحديد اسم ورقة العمل ليعمل على أول ورقة عمل فى الملفات الخيار الثاني و المضاف فى هذا الاصدار كخيار اضافي يستخدم عند الحاجة و به بعض المحدودية Get Data Without Opening Files و هنا يتم استخراج البيانات دون فتح ملفات المصدر ، و ذلك بهدف تسريع الاستخدام فى حالة الملفات الكثيرة و كبيرة الحجم و هنا خيار جلب التنسيق للخلايا غير مفعل ، و ايضا لابد من تحديد اسم ورقة العمل و الخيار كله اضافى حيث يغطي الخيار الأول خيارات أكثر الإصدار الخامس تم اضافة خيار امكانية استخراج البيانات بطريفة افقية ( بيانات الملفات المختلفة تظهر فى صفوف ) كخيار بديل و ليس رأسيا فقط ( أعمدة) مثل الاصدارات السابقة إضغط هنـــــــــــا لتنزيل الملف
    1 point
  37. تفضل اخي الكريم مثال.rar
    1 point
  38. ادراج الصورة في الملف يتم بطريقة الاستاذ الفاضل هشام شلبي اوجه له تحية اجلال وشكر ولكن الصورة بعد فتح الملف تتحرك عن موقعها كما انه غير معروف مكان تخزين الصور واذا كان عدد الصور كثير فان بعض هذه الصور لا تظهر لان عدد الموظفين كبير فسيصبح الملف ثقيل جداً. المطلوب الان ان يتم جلب الصورة من ملف Photo يكون مع العمل في ملف واحد وبدلالة الرقم الوظيفي وليس بزر وبحجم محدد(يمكنني من التحكم فيه) وفي موقع محدد(هو المربع في المخصص للصور في ورقة العمل المرفقة) ((اعجبتني طريقة الاستاذ الكبير خبور المستعمله في جلب صور التلاميذ الى الشهادات ((مرفق ملف لهذه الطريقة) لذا اتمنى ان يتم تنفيذ هذه الفكرة على ملفي اساتذتي الكرام قد اكون تشعبت كثيراً في الشرح واخاف ان يحدث تشويش والمطلوب بكل اختصار هو جلب صورة من ملف بدلالة الرقم الوظيفي طريقة الاستاذ خبور.rar ملفي.rar
    1 point
  39. السلام عليكم شهر مبارك وكل عام وانتم بخير سنبدا هنا موضوع توزيع الطلبة على الفصول وسيكون عبارة عن مشروع يتكون من عدة ملفات كل ملف له آلية عمل تختلف عن الاخرى سنبدا الموضوع وهو مثل ملف الاستاذ نور وهو اذا كان الملف عندك جاهز وعارف المعطيات وستقوم بوضعها بداية الكود هذه المرة الكشوفات ستكون في ملف جديد منفصل على الملف الاساسي وجاهزة للطباعة المطلوب منك اعداد الكشف الاول في الملف الاساسي ومنه ستضع معطياتك بداية الكود الكود حيكون في حدث الورقة اللي فيها نسخة الكشف الاول علشان يتم نقلها مباشرة الى ملفك بمعية اكواده هذه المعطيات المطلوبة بداية الكود '============================================================ '============================================================ ' نطاق البيانات اما ان يكون اسم لنطاق ' او عنوان النطاق مع اسم الورقة Private Const My_Date As String = "MyRng" '============================================================ ' اول صف في الجدول لوضع البيانات Private Const FirstRow As Integer = 9 ' عدد صفوف البيانات المنقولة في الكشف Private Const MyCount As Integer = 30 ' عدد صفوف التذييل Private Const MyCountEndRow As Integer = 5 ' عدد اعمدة الكشف بداية من العمود 1 Private Const MyPagColumn As Integer = 6 ' عدد الفصول Private Const MyCountClass As Integer = 32 '============================================================ '============================================================ وهذا المرفق ملف اكسل 2003 توزيع على الفصول م1.rar
    1 point
  40. أخى الفاضل / هذا الملف لأحد الزملاء افتحه قد يفى بالغرض منع فتح الملف إذا تم نقله أو تغيير إسمه ومنع حفظه بإسم جديد.rar
    1 point
  41. بسم الله الرحمن الرحيم الاخ الكريم باني القمم بداية لك ولكل المتابعين كل التحية والتقدير ولا اعلم لمتى سيتم تقديم اعتذارات مني على ندرة تواجدي في المنتدى واقول لك ان ما قلته شيئ عظيم ولكنني كنت افضل ان لايتم التوسع بهذا الشكل فيكفي ان يتم إضافة نسبة التجهيز والتحضير التي كنت قد اشرت اليه سابقا وقلت ان المتعارف عليه هو رقم يتراوح بين 3 % و 5% حسب نوعية المخرج النهائي ولكن لو استطعت باذن الله ان تخرج شكل الريسيبي بالصيغة التي اوضحتها فجزاك الله خيرا واقسم لك وللجميع باني لا املك من الوقت الا القليل ولكن ما اسعدني هو تواجد من هم مثلك ممن يريدون فعل الخيرات هاني بدر
    1 point
  42. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته يا جماعة انا فعلا باعتذر على تاخيري والله الغير مقصود وفعلا انا عندي كم شغل غير طبيعي فعلا مستحوز على معظم وقتي وانا ان شاء في اجازتي القادمة سوف اقوم بترتيب الملفات المطلوب رفعها و اوعدكم ان شاء الله لن نترك هذا الموضوع حتى يكتمل ولكن يبقى السؤال الملح وهو الاخ الفاضل ابوعبدالله يعلم الله كم اكن لهذا الرجل من الحب والتقدير والاحترام وكل المعاني الجميلة فالسؤال واجب عن عدم تواجده لفترة طويلة واسال الله ان تكون الموانع خير. هاني بدر
    1 point
  43. عزيزي ابو عبدالله اسف على مانسيت ان اذكره في اسباب الصرف والتي منها إرتجاع البضاعة ومرفق شكل الريسيبي والمطلوب فيه Master Recipe.rar
    1 point
  44. الاخ الجليل ابوعبدالله ايضا لن اتوقف عن شكرك ومازلت اكرر مااعظم هذا المنتدى بكل من فيه من مشرفين واعضاء فعالين وكل رواده واقسم لك انني ترردت بالامس في ان اشير لك اى مدى ضخامة هذا العمل وتخوفي من محدودية الاكسل في التعامل معه ولكن دعني انا لا اهبط من عزيمتك وابشرك بانه من الممكن جدا الاستمرار فيما نحن بصدده ولكن بطريقة اكثر اختصارا وانا على يقين بانها ستفي بالغرض ان شاء الله لذا ارجو منك منحي القليل من الوقت لدراسة الملف المرسل من سيادتكم ولمن بمزيد من التمعن ثم ساعطيك مطلوبات اعلم انها لن ترهق الملف وفيما يخص حسابات المطاعم او Catering Fields فلي راى ارجو ان توافقني عليه وهو طالما ان شاء الله نحن قادرين على اكمال الاشمل فلن ننظر للاقل شمولا وببساطة ليس بالضرورة ربط حسابات المخازن مع الحسابات المالية ولكن يمكن الوصول الى ارقام (زي ما قلت تدور هنا وتدور هناك ) وبالمطابقة بين ما ورد في حسابات المخزون وما يرد بالحسابات المالية والتي ايضا يمكن القول بانك اتممتها بنجاح في مشروع 2 ولكن بعد اضافة تعديلات بسيطة فسنحصل على نتائج مبهرة ان شاء الله وسيتبقى المشروع الاكبر وهو مراقبة حسابات النزلاء ( مراقبة الايرادات ) وان شاء الله انا لن ابخل في مشاركتي بكل ما املك من خبرة ختى تعم الفائدة لكل من لهم اهتمام شكرا لك للمرة فوق الالف هاني بدر
    1 point
  45. 2-9 العلاقات بين الجداول من هنا
    1 point
  46. و الان سنكمل باقي الخصائص الخاصة بالحقول خاصية التسمية Caption و هي ما يدل عليها اسمها ، تسمية للحقل و قيمتها الافتراضية هي نفس اسم الحقل و يمكن تغييرها. و لها فائدان : الاولي : أنها هي الاسم الذي يظهر للحقل حال فتح الجدول فى وضع العرض (datasheet view ) و الثانية ، أنه لاحقا عند اعداد النماذج و التقارير ، تظهر هذه القيمة كتسمية افتراضية للحقل عند اضافته الي التصميم خاصية required مطلوب و هي لها قيمتان افتراضيتان لابد من اختيار احداهما و هما نعم / لا و عند اختيار نعم فلا بد من ادخال قيمة فى هذا الحقل لكي يتم حفظ السجل فاذا ادخلت سجلا جديد و تركت الحقل خالي فسيرفض الاكسس حفظه ، و ان مسحت القيمة الموجودة به فى سجل موجود بالفعل ، فأيضا سيرفض الأكسس حفظ التعديل و هنا توجد حالة خاصة ، الا و هي أنه فى بعض الأحيان تكون القيمة الخالية هي معلومة مطلوبة فى حد ذاتها ، أي أن ال "" أو ال NULL هي معلومة ذات قيمة و لا نريد اعتبارها كاننا تركنا الحقل الخالي ففي هذه الحالة نلجا لخاصية AllowZeroLength أو السماح بقيمة مدخلة عدد حروفها صفر ( و اعتبار هذه معلومة ) و ليست قيمة خالية فاذا اخترنا القيم للخاصيتين كالتالي Required = yes AllowZeroLength = No فلن يسمح بترك الحقل بدون قيمة مدخلة و تعالوا نتفحص الاحتمالات الممكنة للخاصيتين و تأثير ذلك : Required = No AllowZeroLength = No عند ادخال ENTER أو SPACEBAR يتم تخزين القيمة Null فى الحقل و ادخال قيمة حرفية طولها صفر ( "" ) غير مسموح Required = No AllowZeroLength = Yes عند ادخال ENTER أو SPACEBAR يتم تخزين القيمة Null فى الحقل مسموح بتخزين قيمة حرفية طولها صفر ( "" ) Required = Yes AllowZeroLength = No غير مسموح بادخال ENTER أو SPACEBAR فى الحقل و غير مسموح بتخزين قيمة حرفية طولها صفر ( "" ) Required = No AllowZeroLength = No غير مسموح بادخال ENTER فى الحقل مسموح تخزين قيمة حرفية طولها صفر ( "" ) ادخال SPACEBAR مسموح و يكافئ تخزين قيمة حرفية طولها صفر القيمة الافتراضية للحقل Default Value و هي القيمة التي يتم تسجيلها افتراضيا فى الحقل عند انشاء سجل جديد و هي مفيدة فى توفبر الوقت عند ادخال البيانات ، فمثلا يمكن جعل القيمة الافتراضية لحقل تاريخ التسجيل هي اليوم نفسه فيتم تسجيل =now() فى حقل الادخال أو القيمة الافتراضية للجنسية هي جنسية محددة "فلسطيني" مثلا اذا كانت هذه هي القيمة الغالبة علي الادخالات و ما يخالف القيمة الافتراضية هو الذي يتم تعديله خاصية مفهرس Indexed طما تحدثنا سابقا فى موضوع المفاتيح و الفهارس ، فان الحقل المفهرس يكون البحث و التصفية و الترتيب فيه أسرع من الحقل العادي و هذه الخاصية لها ثلاث قيم No : القيمة الافتراضية لها ( لايوجد فهرس علي الحقل ) Yes Duplicates OK : يوجد فهرس علي الحقل و يسمح بتكرار القيم فى السجلات المختلفة ، أي يسمح بوجود أكثر من سجل به رقم الموظف = 100 مثلا مثل فى جدول الاجازات ، يمكن أن يدرج نفس الموظف أكثر من مرة فيتكرر الرقم Yes No Duplicates: يوجد فهرس علي الحقل و لا يسمح بتكرار القيم فى السجلات المختلفة ، أي لا يسمح بوجود أكثر من سجل به رقم الموظف = 100 مثلا - مثل فى جدول به قائمة الموظفين فلا يجب تكرار الموظف أكثر من مرة خاصية قاعدة التحقق من صحة الادخال ValidationRule تستخدم هذه الخاصية لوضع ضوابط علي ادخال البيانات ، و تحديد القيود و الشروط التي يجب تحقيقها لكي نقبل البانات المدخلة و الا فالبيانات ترفض و تظهر الرسالة التي يتم تسجيلها فى حقل رسالة التحقق ValidationText و هي الخاصية التالية مباشرة فى ترتيب الخصائص ، و هي تحوي صراحة الرسالة المطلوب اظهارها حال مخالفة القواعد و الشروط المحددة فى ValidationRule أمثلة <>6 لابد أن تكون القيمة المدخلة فى الحقل الرقمي لا تساوي 6 > 1000 Or Is Null اما ان تكون اكبر من 1000 أو تكون قيمة خالية أي أن القيم اقل او = 1000 غير مسموح بها مع السماح بالقيم الخالية Like "A????" القيمة النصية المدخلة لابد أن تكون مكونة من 5 أحرف و تبدأ ب A Like "م????" القيمة النصية المدخلة لابد أن تكون مكونة من 5 أحرف و تبدأ ب م Like "م*" القيمة النصية المدخلة تبدأ ب م و لا قيود علي الطول Like "A*" القيمة النصية المدخلة تبدأ ب A و لا قيود علي الطول >= #1/1/96# And < #1/1/97# لابد أن تكون قيمة التالريخ المدخلة بين 1-1-96 و 1-1-97 و الان لنتحدث عن خاصية أخري تفيد من ناحية فى التحكم فى صحة المدخلات ، و من ناحية أخري فى تسهيل الادخال الا و هي : خاصية قناع الادخال InputMask و هذا الجزء لابد من التجربة فيه كثيرا ، لانها ستكون أساس تثبيت و فهم المعلومة و للشرح الخاص بها ادخل هنا من فضلك :) خاصية القيم الجديدة newValues و هذه الخاصية تخص الحقول من نوع الترقيم التلقائي Autonumber و بها يتم تحديد هل الزيادة تصاعدية طبيعية ، ام عشوائية الحقول من نوع Lookup Wizard عند اختيار حقل من هذا النوع ، فانه يفتح نلقائيا معالج للمساعدة فى اختيار البيانات و يشترط وجود جدول آخر فى القاعدة و من هذا المعالج تختار الحقل و الجدول الذي تريد أن تجعله مصدر بيانات الحقل الحالي و يمكن اختيار أكثر من حقل ليظهر و تحديد الحقل الذي يتم تخزين القيمة الموجودة فيه و لنجرب الختيار بيانات من المعالج و للنظر ماذا حدث ؟ صفحة الخصائص العادية لا يوجد فيها جديد ، و يتم اختيار نوع الحقل بحسب ما تم اختياره فى المعالج و لا جديد فى الموضوع و لكن انتقل الي علامة التبويب Tab الثانية و المسماة Lookup Wizard لتري ماذا حدث. فقد تم اختيار نوع الاظهار مربع سرد DISPALY CONTROL = combo box و مصدر البيانات Table/Query مصدر بيانات الصف جملة اس كيو ال تعبر عن ما تماختياره من بيانات و أيضا نلاحز خاصيتي عدد الاعمدة ، و رقم العمود المنوط به تسجيل القيمة Col Count , Bound Col و طبعا يمكن للمتقدمين عمل ذلك مباشرة بدون المعالج ، و لكن بالنسبة لشرح جملة ال سي كيو ال ، فسنؤجل لذلك للمرحلة التالية ( الاستعلامات ) و لتوضيح هذه الجزئية يوجد مثال مرفق فى المشاركة التالية فى هذا الموضوع ، به جدولان ، الاول للموظفين و الثاني للبلاد و يوضح طيفية ظهور البلد فى جدول الموظفين بناء علي جدول البلاد بقيت لنا ثلاث خواص لن نتحدث عنها وهي Unicode Compression IME mode IME Sentence mode و لكي نعرف لماذا ؟؟ تعالوا نتعرف علي معني IMEs Input Method Editors و هو نظام لادراج لغات شرق آسيا فى البرنامج و سنؤجل ذلك لحين افتتاح أوفيسنا فرع شرق آسيا :) و بالنسبة ل Unicode Compression فانه يتعلق بطريقة تخين البيانات و التي تغيرت عنها فى أكسس 2000 و ما بعده عما كانت فى 97 ،فقد كانت المساحة المخصصة لكل حرف في اكسس 97 هي ا بايت ، و أصبحت 2 بايت فى اكسيس 2000 و ما يليه ، و عملية الضغط هي تتمركز حول الحروف التي يكون الكود المناظر لها البايت الاول منه مخزن به صفر و القيمة الافتراضية لهذه الخاصية هي : نعم و باختصار اتركها علي القيمة الافتراضية و لا تفكر فيها .
    1 point
  47. 2-7 خصائص الحقول (1) تحدثنا سابقا عن بعض هذه الخصائص تبعا لسياق المواضيع ، و الأن سنغطي الخصائص الخاصة بالحقول بصفة أكثر تركيزا باختيار الجدول المطلوب ، ثم اختيار تصميم من أعلي اطار القاعدة ، أو من القائمة المختصرة للماوس ـ يظهر لنا تصميم الجدول و نجد أن الشاشة مقسمة الي جزئين : الأعلي : و فيه أسماء الحقول و نوعها ووصفها و باختيار اي حقل ، تظهر لنا خصائصه فى الجزء الأسفل من الشاشة و هي بيت القصيد فى هذا الموضوع أولي الخصائص : Field Size و هو تتغير قيمه بناء علي نوع البيانات المختار للحقل و قد تم الحديث عنه بالتفصيل هنا ثاني الخصائص : التنسيق Format و هي موضوع هذا الدرس :d و التنسيقات تنقسم الي 4 أجزاء رئيسية أرقام و عملات نص و مذكرة تواريخ و أوقات تنسيقات للبيانات من نوع نعم/لا و للتفصيل الكامل للموضوع إدخل هنا و نكتفي هذه المرة بالتنسيق ، حيث أن الخيارات كثيرة :) ، و أود أن أضيف أن هذا الدرس لن يفيد فى تصميم الجداول فقط ، و لكن فى التعامل مع النماذج و التقارير لاحقا أيضا و أخيرا أنصح من لم يتعامل مع التنسيقات المختلفة بكثافة ، ان يكثر من تجربة ما هو موجود من التنسيقات و تكون التجربة بانشاء جدول ، و ثم حقل من النوع المختار ، ثم ادخال بعض البيانات ثم اختيار التنسيق المراد اختباره ، و اخيرا حفظ التصميم ، و عرض الجدول
    1 point
  48. المثال ( جدول البيانات فقط لتجرب عليه عمليات التصفية ) Ex01.zip
    1 point
×
×
  • اضف...

Important Information