اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

Jalal Saif

عضو جديد 01
  • Posts

    3
  • تاريخ الانضمام

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

السمعه بالموقع

0 Neutral

عن العضو Jalal Saif

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    مدرس
  1. السلام عليكم ورحمة الله وبركاته نعاود الشكر لكم في هذا المنتدى واعضاءه و خاصة الاخوة المشرفين لما يقدموه لنا من نصائح و دروس تعليمية لبرامج الاوفيس وكل ما يختص بمجال الحاسب اخي عبدالرحمن لقد حاولت معي لايجاد حل للمشكلة التي وضعتها ولك مني كل التقدير والعرفان لمساهماتك وخاصة الاخيرة والتي منها استوحيت الفكرة لحل المشكلة التي واجهتني وهي استخدام الكود اخ عبدالرحمن المشكلة التي كنت اوجهها هي ايجاد مجموع الحيوانات التي تم مراجعتها في الادارة في تاريخ معين والخطأ الذي وقعت فيه (مع احترامي لك) حنى في التعديل انه عند تحديد التاريخ النتائج التي تظهر فقط الحيوانات التي لم يدخل لها اي مراجعة وكانت تاخذ القيمة 0 اما الحيوانات التي قامت بالمراجعتها كانت تاخذ مجموعها . ولهذا قمت بانشاء جدول جديد واسميته temptab والغرض منه يحفظ القيمة مؤقتا لجميع الحيوانات بعد تنفيذ هذا الكود Private Sub أمر0_Click() On Error Resume Next 'تعريف البيانات Dim strUpdate, strSave, strSQL, strSQL2 As String Dim rs1, rs2 As DAO.Recordset Dim db As Database 'التاكد من ادخال البداية التاريخ If IsNull([Dat_from]) Then MsgBox "من فضلك أكتب التاريخ الأول", vbExclamation, "التاريخ الأول" [Dat_from].SetFocus Exit Sub End If 'التاكد من ادخال نهاية التاريخ If IsNull([Dat_to]) Then MsgBox "من فضلك أكتب التاريخ الثاني", vbExclamation, "التاريخ الثاني" [Dat_to].SetFocus Exit Sub End If 'الاتصال بقاعدة البيانات Set db = CurrentDb 'اولا تصفير جميع الاعداد في جدول TempTab strUpdate = " UpDate TempTab set [qu] =0" DoCmd.SetWarnings False DoCmd.RunSQL (strUpdate) ' ثانيا الاستعلام الخاص بايجاد عدد الحيوانات التي قامت بمراجعة الادارة strSQL = "SELECT Q1.EnimalName AS [Enimal_Name], Sum(NZ([Mos_Qu],0)) AS [Enimal_Qu] " strSQL = strSQL + "FROM Q1 LEFT JOIN HalaDes ON Q1.hala_No = HalaDes.Hala_No " strSQL = strSQL + "WHERE (((Q1.Hala_Date) Between '" & Me.Dat_from & "' And '" & Me.Dat_to & "')) " strSQL = strSQL + "GROUP BY Q1.EnimalName" Set rs1 = db.OpenRecordset(strSQL) ' التاكد من عدد السجلات التي قامت بالمراجعة If rs1.RecordCount = 0 Then MsgBox "لايوجد مراجعات حسب التاريخ المدخل ", vbOKOnly, ".تنبيه." Exit Sub End If ' ثالثا الاستعلام الخاص بجدول الحيوانات وعددها strSQL2 = "SELECT enimal, qu FROM TempTab " Set rs2 = db.OpenRecordset(strSQL2) rs1.MoveFirst rs2.MoveFirst Do While Not rs1.EOF Do While Not rs2.EOF If Trim(rs1!Enimal_Name) = Trim(rs2!enimal) Then rs2.Edit rs2![qu] = rs1![Enimal_Qu] rs2.Update End If rs2.MoveNext Loop rs2.MoveFirst rs1.MoveNext Loop MsgBox " تم حفظ البيانات ", vbExclamation, ".تنبيه." End Sub وهذه صورة من العملية بعد تنفيذ البرنامج ومثلما اشغلتكم بهذه المشكلة احببت ان اشراككم الحل الذي توصلت اليه وشكراااااااا DBZer--Fin.rar
  2. السلام عليكم اولا : شكراااااا لكم لسرعة تفاعلكم معي في هذا الموضوع ثانيا : اخي راعي الغنم الاشكالية ليست في عملية الجمع حيث انني استخدمت دالة Sum(NZ([Mos_Qu];0) ومهمة هذا الكود هو اعطاء قيمة 0 عند وجود حقل null ولك من كل الشكر على محاولتك واجتهادك معي لايجاد حل لهذا السوال وبالنسبة للغنم ما راح يوصلها خبر انك ما عرفت الحل ثالثا: اخي عبدالرحمن بعد تنفيذ الفكرة التي ذكرتها يظهر في الاستعلام اسماء الحيوانات التي لم يتم ادخالها نهائيا في حالات سابقة ولكن الحيوانات التي تم ادخالها في حالات اخرى بعد أو قبل التاريخ المذكور في الشرط فهي لا تظهر والذي اريد هو اظهار كل الحيوانات الموجودة في جدول enimal مع مجموع الحيوانات التي تم ادخالها في نفس التاريخ المحدد في الشرط وهذي صورة للاستعلام بعد تنفيذ فكرتك حيث ظهر كل من (ارانب ، حمير ، قطط ، كلاب ) في حين لم يظهر كل من ( الماعز ، الضان ) لانه قد تم ادخاله مسبقا في تاريخ اخر المطلوب ان يظهر الاستعلام بهذا الشكل اكرر لكم شكري واتمنى ان اجد اجابة لسؤالي
  3. السلام عليكم ورحمة الله وبركاته اولا احب أن أشكر كل عضو مساهم في هذا الصرح العلمي والذي ساهم في تطويري في عالم البرمجة حيث انني كنت اجد حلا للعديد من اسئلتي ... ولكن للاسف لم اجد حلا لهذا السوال والذي اتمنى من الله اولا ثم منكم مساعدتي في حله حيث يوجد في قاعدة البيانات المرفقة وهي خاصة باحدى ادارات وزارة الزراعة ثلاثة جداول وهي emimal: وهو جدول يحتوي اسماء الحيوانات halat: وهو جدول الحالات التي راجعت الادارة وفيه (رقم الحالة ، تاريخ الحالة ، رقم هوية المربي ، نوع الحيوان الذي تم فحصه، واخيرا الملاحظات) halaDes: وهو جدول مرتبط مع جدول الحالات وفيه ( رقم الحالة ، نوع المرض ، عدد الحيوانات المصابة ، عدد الحيوانات النافقة - الميته ) كما يوجد في قاعدة البيانات الاستعلامات التالية : q1 : وفيه جميع اسماء الحيوانات والحالات التي تمت مراجعتها وتاريخ المراجعة باستخدام العلاقة LEFT JOIN لعرض اسماء الحيوانات جميعها حيث يظهر ايضا اسماء الحيوانات حتى اذا لم يتم مراجعته q2 : وفيه عدد الحيوانات المصابة بعد ربط كل من Q1 و halades لايجاد مجموع الحيوانات المصابة ويظهر في هذا الاستعلام جميع الحيوانات حتى التي لم يتم معالجتها ويظهر النتيجة عندها تساوي 0 وذلك باستخدام الدالة Sum(NZ([Mos_Qu];0)) q3 : وهو نفس الاستعلام السابق ولكن بعد تحديد التاريخ وهنا تكمن المشكلة المشكلة :::: حيث انني عندما اقوم بتحديد التاريخ لاتظهر اسماء الحيوانات كاملة فالذي يظهر هنا فقط اسم الحيوان الذي تم معالجته في الاستعلام q3 المطلوب :: كيف اقوم بايجاد أسماء و مجموع عدد الحيوانات والتي تمت معالجتها وذلك بعد تحديد التاريخ مع اظهار العدد 0 للحيوان الذي لم يتم معالجته في تلك الفترة أتمنى ان أجد الحل لديكم ولكم مني كل الشكر والتقدير مسبقا DBZer.rar
×
×
  • اضف...

Important Information