• 0
aabbt5

تصفية ( فلترة) البيانات حسب السنة واسم المركز وطباعة العقد حسب المحدد بالنموذج الفرعي

سؤال

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

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

والمطلوب  ان يكون تعديل المطلوب على ذات الملف المرفق 

وضعت نموذج فرعي داخل نموذج رئيسي مسمى بنموذج العقود ( باسم  FROM TABLE10 ) ووضعت بالنموذج الرئيسي  مربع تحرير وسرد للسنوات التأهيلية والمراكز التأهيلية الملتحق بها الحالات والمطلوب تعديل الملف المرفق كما الطلبات الثلاث الاتية:

أولا : فلترة السنة التأهيلية المختارة للسنة 

 ثانيا:  فلترة المراكز التأهيلية ليتم اظهار الأسماء الملتحقة بالمركز بنفس السنة التأهيلية  

ثالثا: طباعة أو معاينة العقد  حسب كل بيان مختار ومحدد بخانة الطباعة بالتقرير المرفق

ويوجد شرح المطلوب بالتفصيل بداخل النموذج FROM TABLE10  علما بان النموذج الفرعي يتم تغذيته بالبيانات من النموذج form table1

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

ارجو مساعدتي بذلك ولكم عظيم الشكر والتقدير

برنامج العقود.rar

0

شارك هذا الرد


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

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

  • 0

فى النموذج FROM TABLE10

عرف المتغير  العام msg_sql أعلى صفحة كود النموذج

Option Compare Database
Dim msg_sql As String

بعد ذلك انشأ الدالة العامة Change_Query

 

Public Sub Change_Query()
Dim Cntr_Cnd As String, Yr_Cnd As String
    
    If Nz(cmb_Org_Name) = "" And Nz(مربع_تحرير_وسرد228) = "" Then
            msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"
            msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID];"
    
    ElseIf Nz(cmb_Org_Name) <> "" And Nz(مربع_تحرير_وسرد228) = "" Then
            Cntr_Cnd = cmb_Org_Name
            msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"
            msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID]"
            msg_sql = msg_sql & " WHERE (((TABLE2.Org_Name)='" & Cntr_Cnd & "'));"
     
    ElseIf Nz(cmb_Org_Name) = "" And Nz(مربع_تحرير_وسرد228) <> "" Then
            Yr_Cnd = مربع_تحرير_وسرد228
            msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"
            msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID]"
            msg_sql = msg_sql & " WHERE (((TABLE2.[سنة التأهيل])='" & Yr_Cnd & "'));"
            
    ElseIf Nz(cmb_Org_Name) <> "" And Nz(مربع_تحرير_وسرد228) <> "" Then
        Cntr_Cnd = cmb_Org_Name
        Yr_Cnd = مربع_تحرير_وسرد228
        msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"
        msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID]"
        msg_sql = msg_sql & " WHERE (((TABLE2.Org_Name)='" & Cntr_Cnd & "')"
        msg_sql = msg_sql & " AND ((TABLE2.[سنة التأهيل])='" & Yr_Cnd & "'));"
    
         
     
    End If
End Sub
 
أنتهى الموضوع هذا كل ما فى الأمر 
بعدها غير الاجراء AfterUpdate لقائمة مراكز التأهيل
 

 

 

Private Sub cmb_Org_Name_AfterUpdate()

 

        Change_Query
        Me![STABLE2].Form.RecordSource = msg_sql
        Me![STABLE2].Form.Requery
End Sub
 
وكذلك الإجراء AfterUpdate لقائمة السنوات
 

Private Sub مربع_تحرير_وسرد228_AfterUpdate()
 

  Change_Query
   Me![STABLE2].Form.RecordSource = msg_sql
   Me![STABLE2].Form.Requery
End Sub
 

وكذلك الأجراء Load للنموذج
 

Private Sub Form_Load()

        Change_Query
        Me![STABLE2].Form.RecordSource = msg_sql
        Me![STABLE2].Form.Requery
End Sub

وكذلك الزر الخاص بالطباعة

Private Sub أمر127_Click()
Dim dbs As DAO.Database, Xquery As QueryDef, stDocName
    Set dbs = CurrentDb
    stDocName = "تقرير تصفية البيانات"
    Set Xquery = dbs.QueryDefs(stDocName)
    Change_Query
    Xquery.SQL = msg_sql
  DoCmd.OpenReport stDocName, acViewPreview, , , acDialog
End Sub

وكذلك العرض

Private Sub أمر119_Click()
    Dim dbs As DAO.Database, Xquery As QueryDef, stDocName
   
    Set dbs = CurrentDb
    stDocName = "تقرير تصفية البيانات"
    Set Xquery = dbs.QueryDefs(stDocName)
    Change_Query
    Xquery.SQL = msg_sql
    DoCmd.OpenQuery stDocName, acNormal, acReadOnly
End Sub

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

يوجد قصور فى التقرير (الذى قمت أنا بإضافته) إذا يعتمد نظام عرضه على عمل تصفيه على السنوات ومراكز التأهيل معاً وإلا سيكون هناك قصور فى البيانات المعروضة

 

 

 

Contracts.rar

تم تعديل بواسطه الفهرى
0

شارك هذا الرد


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

بالمناسبة لم اتمكن من تنزيل ملف المرفق من خلال Google chrome 

ولكن قمت بتنزيله من خلال Windows internet explorer - iexplore

وكذلك الملف الذى قمت أن بإنشاءه

 

0

شارك هذا الرد


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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

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

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