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

د.كاف يار

الخبراء
  • Posts

    1,681
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    60

مشاركات المكتوبه بواسطه د.كاف يار

  1. لإنشاء مفتاح اساسي استخدم الكود التالي

    DoCmd.RunSQL "ALTER TABLE [mowadfen_check] ADD CONSTRAINT PK_Person PRIMARY KEY ([الرقمالوظيفي], [التاريخ])

    لإلغاء المفتاح الأساسي استخدم الكود التالي

    DoCmd.RunSQL "ALTER TABLE [mowadfen_check] DROP CONSTRAINT PK_Person"

     

    • Thanks 2
  2. في 24‏/5‏/2023 at 18:04, أغيد said:

    فضلاً وكرماً منك  دكتور @د.كاف يار  لدى طلب  ان امكن تنفيذه على ما تفضلتم به   :

    1-  اضافة حقل المحافظة city لمعرفة ما تم تحصيله من كل مندوب حسب المنتج و ايضاً المحافظة 

    2- النتائج تعرض حسب الشهر  ماذ لو اردت  حسب فترة معينة  مثلاً  سنة  او ربع سنوي او نصف سنوي  او من بداية الشهر حتى الشهر الحالي 

    3- هل بالامكان اضافة  طباعة تقرير وفقا للنتائج المعروضة  مع امكانية  ظهور رسالة  لحذف الجدول الذي تم انشائة او الاحتفاظ به 

    كلي امل ورجاء في مساعدتكم ... اسئل الله ان يبارك لكم في وقتكم ويزيدكم من علمه ويجزيكم عني خير الجزاء ..

    كل طلباتك منطقية لكن الشي الوحيد و الذي ليس منطقيا تصميم الجدول

    يجب ان يكون لديك سجل خاص بالتحصيل و الحركات المالية و سجل خاص بالموظفين

    مثل هذه الافكار يجب ان يكون بناء منطقيا 

    حتى نقطة زيادة حجم قاعدة البيانات ليس منها اي قلق فهي معدة لمثل هذه الأعمال

    ابدء ببناء جداولك و انشئ العلاقات بين الجداول بصورة سليمة و يمكن الاستعان بالدورات تجدها في اليوتيوب و ستسفيد منها جدا في بناء قاعدة البيانات بصورة سليمة و صحيحة

    • Like 1
  3. 5 دقائق مضت, سامر محمود said:

    بس مش المفروض انه يطلع سطر الموظف باجمالي جزائته لانه مطلعم علي كذا سطر 

     

    اعطيتك اجابة على سؤالك

    التعديل الذي اجريته فقط داخل التقرير 

    لكن بعد الاطلاع على ملفك وجدت انه لديك مشكلة في العلاقات

    يجب عليك ان تراجع العلاقات 

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

    • Like 1
  4. قم وضع هذه الشفرة في الاستعلام

    DCount("*"; "[GazaKind]";"[GazaName]=" & [Forms]![Frm_Gaza][GazaName] )
    
    DCount =====> تعني التجميع بشرط
    DCount("*"; =====> تعني عدد السجلات
    DCount("*"; "[GazaKind]" =======> مصدر الجمع
    DCount("*"; "[GazaKind]";"[GazaName]=" & =====> المعيار و ما يقابله في النموذج او التقرير او الاستعلام

    سيتم حساب عدد الجزاءات لكل موظف بناء على اسم الموظف و يمكن التغيير الى رقم الموظف

    الموضوع بسيط جدا

     

  5. جميع ما تحتاجه موجود في اجابة @Eng.Qassim

    3 ساعات مضت, Eng.Qassim said:

    في الحالتين انت تحتاج الى حقل حالة التلميذ..يتم تمييز الطالب المنقطع عن غيره

     

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

    بإختصار قم بإضافة عمود جديد لتحديد حالة الطالب ( مستمر - منقطع - مفصول - موقوف - ........... الخ )

    منذ ساعه, derbali ammar said:

    اولا نقوم بانشاء استعلام الحاقي

     

    تعلم انشاء مثل هذه الاستعلامات بطريقة احترافية تسهل عليك العمل دوماً

    جرب استخدم الكود التالي في عمليات ( الإضافة - التحديث - الحذف - الاستعلام )

    لإضافة بيانات جديدة للجدول استخدم الكود التالي

    On Error GoTo errorhandle
        Dim rs As DAO.Recordset
        
        Set rs = CurrentDb.OpenRecordset("ضع هنا اسم الجدول")
            
            rs.AddNew
            rs.Fields("اسم العمود 1").Value = "القيمة1"
            rs.Fields("اسم العمود 2").Value = "القيمة2"
            rs.Fields("اسم العمود 3").Value = "القيمة3"
            rs.Update
            MsgBox "تم اضافة البيانات بنجاح", vbInformation + vbMsgBoxRight, "تأكيد"
    errorhandleexit:
            Exit Function
    errorhandle:
            MsgBox Err.Description
            Resume errorhandleexit
    

     

    و لتحديث سجل محدد استخدم الكود التالي

    On Error GoTo errorhandle
        Dim rs As DAO.Recordset, SerTb As String, SetCoulmin As String, SetValue As String
        
            SerTb = "ضع هنا اسم الجدول"
            SetCoulmin = "اسم العمود في الجدول الذي يحتوي على المفتاح الرئيسي"
            SetValue = "حقل العيار الذي يحتوي على المفتاح الرئيسي في النموذج"
            
        Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & SerTb & " where [" & SetCoulmin & "] Like '" & SetValue & "'")
            
            rs.Edit
            rs.Fields("اسم العمود 1").Value = "القيمة1"
            rs.Fields("اسم العمود 2").Value = "القيمة2"
            rs.Fields("اسم العمود 3").Value = "القيمة3"
            rs.Update
            MsgBox "تم تحديث البيانات بنجاح", vbInformation + vbMsgBoxRight, "تأكيد"
    errorhandleexit:
            Exit Function
    errorhandle:
            MsgBox Err.Description
            Resume errorhandleexit

    و لحذف حقل استخدم الكود التالي

    On Error GoTo errorhandle
        Dim rs As DAO.Recordset, SerTb As String, SetCoulmin As String, SetValue As String
        
            SerTb = "ضع هنا اسم الجدول"
            SetCoulmin = "اسم العمود في الجدول الذي يحتوي على المفتاح الرئيسي"
            SetValue = "حقل العيار الذي يحتوي على المفتاح الرئيسي في النموذج"
            
        Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & SerTb & " where [" & SetCoulmin & "] Like '" & SetValue & "'")
            
            rs.Delete
            
            MsgBox "تم حذف السجل بنجاح", vbInformation + vbMsgBoxRight, "تأكيد"
    errorhandleexit:
            Exit Sub
    errorhandle:
            MsgBox Err.Description
            Resume errorhandleexit

     

    • Like 5
  6. في 24‏/7‏/2022 at 01:25, مبرمج سابق said:

    مشاركة رائعة اخي د.حسين

    لدي ملاحظة صغيرة عند تنفيذ الكود في حقل بداية اول دفعه يزيد شهرين على التاريخ المحدد والسبب في الاتي

    For i = 1 To CountAmunt

    اي ان الحلقة تبدأ من رقم 1 الى اخر عدد في حقل مجموع الدفعات

    ثم في حقل التاريخ وضعت الامر

    rs.Fields(2).Value = DateAdd("m", i + 1, SetStartDate)

    اي ان الزيادة تكون برقم واحد + 1 على التاريخ فاذا كان تاريخ اول دفعة محدد في 25-07-2022 سيكون التاريخ 25-09-2022

    انظر الصور المرفقة

    لذا يمكن التغلب على المشكلة بتعديل بداية الحلقة لتكون من رقم 0

    For i = 0 To CountAmunt - 1
    
    وفي حقل التاريخ
    
    rs.Fields(2).Value = DateAdd("m", i, SetStartDate)
    
    وايضا يمكن ان ندع بداية الحلقة كما هي
    For i = 1 To CountAmunt
    والتاريخ يكون
    rs.Fields(2).Value = DateAdd("m", i - 1, SetStartDate)

    تحياتي وتقديري واعتذر مقدما عن اي ازعاج

     

    دحسين.png

    دحسين1.png

    دحسين2.png

    احسنت فعلا طريقتك صحيحة

    شكرا على تعقيبك الجميل و المميز

    12 ساعات مضت, عبد اللطيف سلوم said:

    العفو استاذي الكبير عبداللطيف فهذا فضل الله عز وجل 

    • Like 1
  7. اعجبني الموضوع و حبيت اقدر مشاركة بسيطة 

    اذا كان تاريخ شهر القرض اكبر من الشهر الحالي و لم يتم السداد يكون باللون الأحمر

    اذا كان شهر السداد مساوي للشهر الحالي و لم يتم السداد يكون اللون الأصفر

    و في باقي الحالات يكون اللون الأبيض

    image.png.f808a3b180dd8c5760a16600eadd0d71.png

     

    هدية مجانية - قروض بنكية.zip

    • Like 4
    • Thanks 1
  8. 20 ساعات مضت, Mohameddd200300 said:

    هل بيكون اسرع بكثير طبعا بقدر بعدها اسوس مشاركة من خلال الip على الانترنت 

    للأسف مع الاكسس لا

    sql server 

    ممتاز مع لغات اخرى غير الاكسس

    و تقدر تجرب و بشكل مجاني من خلال سيرفر SOMEE

    - انشئ حساب جديد 

    - انشئ قاعدة بيانات جديدة

    - اضف جدول جديد

    بعدها استخدم جملة الاتصال و الاستعلام للتجربة

    • Like 3
×
×
  • اضف...

Important Information