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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

كل منشورات العضو jjafferr

  1. في الواقع هذه الجملة استوقفتني ، وظليت افكر فيها طويلا ، ووصلت لهذه النتيجة: اللحم والدجاج والسمك والخضار والتوابل موجودة من آلاف السنين ، ولكن هذا ما منعنا ان نكون مميزين في طبخاتنا ، عندنا الرخال والمندازي والسيويه ، والحلوى والقشاط ، الشواء والمشاكيك والمضبي ، ونطبخ من القاشع والعوال ، واما البابلو فيا سلام 🙂 فما يهمك من بدأ قبلك ، فعندك حس مميز ، والكل ينتظر كل جديد منه 🙂 جعفر
  2. اما انا ، فكنت اول واحد يدخل في الموضوع ، وانزلت المرفق لأستمع وارى الكود 🙂 الكود جدا بسيط ونظيف ، عمل جميل 🙂 في اعتقادي @ابو جودي قام بمثل هذا العمل سابقا ، ولكني لا اتذكر التفاصيل 🙂 جعفر
  3. وعليكم السلام اخوي ابوخليل 🙂 1. نعم فكرت في الموضوع ، لهذا السبب كنت دائما انقح وازيد في مشاركتي الاولى حتى اشمل كل شيء عن الموضوع ، واحتاج لها بعض الامثلة مع صور علشان تكمل ، 2. في الواقع ما نظرت للموضوع عن كيفية حل السؤال بطريقة اخرى ، فطريقة السؤال كانت توجهني في اتجاه استعلام التوحيد 🙂 جعفر
  4. عندك طريقتين لإضافة اي حقول/فرو/تصفية ، يا في اول استعلام توحيد (طبعا في احد او جميع الاستعلامات اللي فيه ، والافضل تجهز الاستعلامات وتجهز كل واحد منها بالنتائج الصحيحة ، ثم تضيفها في استعلام التوحيد) ، او في آخر استعلام. قد يكون الاسهل لك ان تضيف معيار التاريخ في الاستعلام الاول : 1. كمعيار (سواء لإستعلام واحد او عدة استعلامات) دون إظهاره في السجلات (إزالة علامة الصح تحت الحقل ، او استخدام Where في الاستعلام التجميعي) ، وعادة المعيار يشير الى حقل التاريخ في النموذج مثل Forms!frm_Main!Date_From ، 2. او اذا ما عمل لك مشكلة ، فيمكن اظهاره في السجلات. اذا استعملته كمعيار فقط ، ولكنك تريد اظهاره في الاستعلام الاخير ، فيمكنك عمل حقل جديد في الاستعلام الاخير للتاريخ ، هكذا: myDate: Forms!frm_Main!Date_From جعفر
  5. وعليكم السلام 🙂 جوابي فقط على الجزئية: جربي هذا: Dim StrFlter as String StrFlter = "DateDA,DateCmd,NumBesoin,demandeur,commande,imputation,acheteur,departement,designation,marque,reference,devise,QTEcommande,QTE,frs1,PU1,PT1,frs2,PU2,PT2,frs3,PU3,PT3,prixRETENU,devise2,TotalEUR,fournisseur,CONTRAT,FABRICANT,NonMisEnCON,REGULE,SEMAINE,MOIS,PRODUCTIVITE,devise3,ProdEnEUR" CurrentDb.Execute "INSERT INTO TEAM(" & StrFlter & ")VALUES('" & Me.DateDA & "','" & Me.DateCmd & "','" & Me.NumBesoin & "','" & Me.Demandeur & "','" & Me.Commande & "','" & Me.imputation & "','" & Me.Acheteur & "','" & Me.Departement & "','" & Me.TXTdesign & "','" & Me!T_REFRENCE.Form.marque & "','" & Me.txtREF & "','" & Me!T_REFRENCE.Form.devise & "','" & Me.Qte & "','" & Me!T_REFRENCE.Form.FRS1 & "','" & Me!T_REFRENCE.Form.PU1 & "','" & Me!T_REFRENCE.Form.PT1 & "','" & Me!T_REFRENCE.Form.FRS2 & "','" & Me!T_REFRENCE.Form.PU2 & "','" & Me!T_REFRENCE.Form.PT2 & "','" & Me!T_REFRENCE.Form.FRS3 & "','" & Me!T_REFRENCE.PU3 & "','" & Me!T_REFRENCE.PT3 & "','" & Me!T_REFRENCE.PRIXretenu & "','" & Me!T_REFRENCE.Devise2 & "','" & Me!T_REFRENCE.TotalEUR & "','" & Me!T_REFRENCE.fournisseur & "','" & Me!T_REFRENCE.CONTRAT & "','" & Me!T_REFRENCE.Fabricant & "','" & Me!T_REFRENCE.NonMisEnCON & "','" & Me!T_REFRENCE.Regule & "','" & Me.Semaine & "','" & Me.Mois & "','" & Me!T_REFRENCE.productivite & "','" & Me!T_REFRENCE.devis . جعفر
  6. اول خطوة هي جعل الحقول المتشابهة تحت نفس العمود . عملنا استعلام جديد Query1 (وهو استعلام التوحيد) ودخلنا في وضع SQL ، ثم نسخنا جملة SQL الاستعلام الاول اليه ، ثم كتبنا union ، ثم نسخنا جملة SQL الاستعلام الثاني اليه: . والنتيجة . ولكننا نريد ان ندمج السجلات المتشابهة مع بعض ، حتى تكون على سجل واحد ، لذا ، يجب ان نعمل استعلام تجميع ، نجمع فيها قيم الحقول حسب المجموعات ، فنعمل استعلام جديد ، ويكون استعلام التوحيد السابق هو مصدر بياناته : . عند تشغيل الاستعلام الجديد ، نحصل على خطأ ، معناه ان انواع الحقول غير متشايهة !! واذا دققنا النظر في اول صورة ، سنجد انه في نفس الحقل عندنا ارقام و Null و "" ، وهذا ينطبق على الحقول الثلاثة التي نريد مجموعها ، يعني في كل حقل ، لازم نجمع قيمها: الارقام ، و Null ، و "" . اول فكرة تجي على البال حتى نستبدل Null و "" الى صفر ، هو استخدام الامر NZ (مع انه غير محبذ استخدام امر VBA في الاستعلام ، حيث انه سيجعله بطيءً نوعا ما) ، والنتيجة . الخطأ هنا لأن الامر NZ ومعناه Null to Zero ، اي تحويل الحقل الذي قيمته Null الى صفر ، بينما عندنا في الحقل نفسه قيمة اخرى وهي "" ، والتي يجب التعامل معاها كذلك وتحويلها صفر ، والامر NZ لا يعرف التعامل معاها ، انا استعمل الكود التالي لإحتواء الطريقتين : If Len([SumAbsentYes] & "")=0 then او هكذا في الاستعلام SumAbsentYes_1: IIf(Len([SumAbsentYes] & '')=0,0,[SumAbsentYes]) . . والنتيجة . او الطريقة الاخرى للتغلب على Data Type Missmatch ، بأن نحتفظ بقيمة Null ، ولكن قيمة "" نحولها الى صفر في الاستعلامات الاصل: . بإختصار ، خطواتك كانت صحيحة ، ولكن كان يحتاج لها خطوة اخرى 🙂 المرفق فيه Query2 و Query4 للطريقتين 🙂 جعفر 1451.حضور وانصراف موظفينV47.accdb.zip
  7. ما فهمت🥺 الظاهر ان القهوة بو شربتها الصبح بعدها ما داقه فراسي ، فياريت تشرح القصد من هذا الطلب 🙂 جعفر
  8. وعليكم السلام 🙂 الطريقة هي عمل استعلام توحيد ، بهذه الطريقة : Select ID, Full_Name, Income, Position From tbl_Directors union all Select ID, Full_Name, Income , P:"" From tbl_Players union Select I:0, Full_Name, Income:"" , Pos:"Not applicable" From tbl_Others union SELECT "", tblSection.sname, Sum(tblSection.Allowances) AS SumOfshead, "مدراء" As P FROM tblSection WHERE (((tblSection.snumber1)<>123)) GROUP BY tblSection.sname ORDER BY tblSection.sname; . هنا جمعت 4 استعلامات (نسميها استعلامات اولية) (اعمل كل استعلام بالطريقة العادية ، وبعد التأكد انه يعمل بطريقة صحيحة ، وان حقول الاستعلام في نفس ترتيب حقول بقية الاستعلامات (كذلك يمكنك اضافة هذه الحقول في استعلام التوحيد مباشرة) ، ضع الاستعلام في وضع SQL ، ثم انسخ الجملة كاملة وضعها في استعلام التوحيد ، هذا اللي عملته في الاستعلام الرابع اعلاه) ، الشرط الوحيد في استعلام التوحيد هو ، ان يكون عدد الحقول نفسها لجميع الاستعلامات ، فإذا احد الاستعلامات ما فيه هذه الحقل ، يجب ان تضع قيمة معينة له ، سواء صفر او "" (فراغ) او "المدراء" ، وطبعا الحقول التي تريدها لنفس العمود يجب ان تكون بنفس ترتيبها في الاستعلام (انا تركت مسافات بين الحقول في المثال اعلاه فقط لتوضيح هذه النقطة) ، يجب الانتباه في الحقول الاضافية ، فإذا اردت ان تجمع هذا الحقل لاحقا ، فاعطيه القيمة 0 ، اسم الحقل يُؤخذ من اول استعلام (بغض النظر عن تغيّر اسماء الحقول في الاستعلامات لنفس العمود) ، والفرز يُؤخذ من آخر استعلام ، union all معناها ، اضف جميع السجلات ، مع المتكررات بين الاستعلامات ، union معناها ، اضف جميع السجلات ، بدون المتكررات بين الاستعلامات. وهناك اوقات اخرى ، حيث الاستعلامات الاولية لإستعلام التوحيد ، فيها نفس عدد الحقول وبنفس الترتيب ، فيمكن تسهيل استعلام التوحيد الى: Select * From qry_1 union Select * From qry_2 union all Select * From qry_3 union Select * From qry_4 . او الخلط بين الطريقتين: Select * From qry_1 union Select * From qry_2 union all Select * From qry_3 union Select * From qry_4 union SELECT "", tblSection.sname, Sum(tblSection.Allowances) AS SumOfshead, "مدراء" As P FROM tblSection WHERE (((tblSection.snumber1)<>123)) GROUP BY tblSection.sname ORDER BY tblSection.sname; بعض الاوقات هذه الاستعلام سيعطيك البيانات المطلوبة ، ولكن قد تحتاج الى فرز او تصفية اضافية ، او تجميع سجلات في سجل واحد ، فما عليك إلا ان تعمل استعلام آخر ، ثم تستعمل استعلام التوحيد كمصدر بيانات هذا الاستعلام الجديد ، ثم تعمل فيه المطلوب 🙂 جعفر
  9. حيا الله اخوي موسى 🙂 اعطني امثلة ، وما يصير خاطرك إلا طيب 🙂 جعفر
  10. وعليكم السلام ورحمة الله وبركاته 🙂 اخي حافظ ، في المرات القادمة ، رجاء مراعاة وضع اسم صحيح للموضوع ، يدل على محتواه 🙂 انت لم تقل للكود ان يظهر لك رسالة Msgbox او MessageBox بهذه المعلومة ، رجاء قم بإضافة الامر MessageBox الى الماكرو (كما في الصورة) : . جعفر
  11. مقترح صحيح 100% 🙂 جعفر
  12. وعليكم السلام 🙂 طريقة تعرّف المواقع على مكان تواجدك عند الدخول اليها ، هو عن طريق IP الكمبيوتر ، وهذه طريقة لمعرفة IP الكمبيوتر : . جعفر
  13. في هذه الحالة يجب ان يكتب تنسيق الحقل في الجدول كالتالي: dd/mm/yyyy وإلا فإنه سياخذ تنسيق الوندوز ، وتنسيق الوندوز عندي هو dd/mmm/yyyy ، فسيعطيه رسالة خطأ كذلك !! جعفر
  14. انظر الى نوع حقل التاريخ الهجري في الجدول 🙂 الدالة UmDate_AfterUpdate هي المسؤولة عن طريقة عرض التاريخ ، فاذا اردت تغيير التنسيق ، فلا انصحك ان تغير في الدالة اعلاه ، ولكن خلينا نغير نتيجة الدالة: Private Sub date_h_AfterUpdate() UmDate_AfterUpdate If Not IsNull(date_h) Then 'Debug.Print Right(date_h, 2) 'Debug.Print Mid(date_h, 6, 2) 'Debug.Print Left(date_h, 4) Me.date_m = Um2Greg(Right(date_h, 2), Mid(date_h, 6, 2), Left(date_h, 4)) ''Me.date_m = Um2Greg(Right(date_h, 4), Mid(date_h, 6, 2), Left(date_h, 2)) 'Me.t_day = Format(Me.date_m, "dddd") Me.date_h = Right(Me.date_h, 2) & "/" & Mid(Me.date_h, 6, 2) & "/" & Mid(Me.date_h, 1, 4) '<== هذا السطر الاضافي لتغيير التنسيق End If End Sub . جعفر
  15. المفروض ان تظهر لك ارقام فقط ، لهذا السبب تحصل على خطأ عندما تنادي الدالة Um2Greg !! في الواقع المشكلة عندك في الجدول ، حيث ان حقل IqamaExpDateH هو تاريخ ، بينما يجب ان يكون نص . وبالتالي يتم حذف الاشارة الى ان الحقل تاريخ (احذف Short Date) . . وبعدها شوف النتائج 🙂 جعفر
  16. السلام عليكم 🙂 يجب ان نرى ما يراه الكمبيوتر ، ثم نتخذ قرار التصحيح ، اضف الاسطر الثلاثة في الكود ، ثم انظر في اسفل صفحة الكود immediate windows ، واخبرنا النتيجة: Private Sub date_h_AfterUpdate() UmDate_AfterUpdate If Not IsNull(date_h) Then Debug.Print Right(date_h, 2) Debug.Print Mid(date_h, 6, 2) Debug.Print Left(date_h, 4) Me.date_m = Um2Greg(Right(date_h, 2), Mid(date_h, 6, 2), Left(date_h, 4)) ''Me.date_m = Um2Greg(Right(date_h, 4), Mid(date_h, 6, 2), Left(date_h, 2)) 'Me.t_day = Format(Me.date_m, "dddd") End If End Sub . . جعفر
  17. لما تكون عندي معادلة بهذا التعقيد ، على طول وبدون تفكير ، اعمل وحدة نمطية واضع فيها المعادلة بطريقة مبسطة وبعدة اسطر ، ثم اناديها من الاستعلام 🙂 ننادي الدالة fOver_Time في الوحدة النمطية ، ونرسل لها البيانات المطلوبة OverTime: fOver_Time([ThisDay], [Dwam_Start], [Dwam_End], [txtStanderTimeOut1], [txtStanderTimeOut2]) . وهذه هي الدالة fOver_Time ، والتي يمكن تعديلها ببساطة : Public Function fOver_Time(TD, DS, DE, STO1, STO2) 'TD = [ThisDay] 'DS = [Dwam_Start] 'DE = [Dwam_End] 'STO1 = [txtStanderTimeOut1] 'STO2 = [txtStanderTimeOut2] If TD = "Friday" Then fOver_Time = DateDiff("n", DS, DE) \ 60 & ":" & DateDiff("n", DS, DE) Mod 60 ElseIf TD = "Thursday" Then fOver_Time = DateDiff("n", STO2, DE) \ 60 & ":" & DateDiff("n", STO2, DE) Mod 60 ElseIf TD <> "Friday" Or TD <> "Thursday" Then fOver_Time = DateDiff("n", STO1, DE) \ 60 & ":" & DateDiff("n", STO1, DE) Mod 60 End If End Function . جعفر
  18. اخي عمر هذه تجربتي في البرنامج ، ومع روزنامة الوندوز: 1-1-2020 . 1-1-2021 . 1-1-2022 . جعفر
  19. الله يطول في عمرك ، المشكلة في اي نموذج ، واي حقل ؟
  20. لهذا السبب ، لا استغنى عن البرنامج في الرابط ، كلما عملت اضافات على البرنامج اللي اشتغل عليه ، استعمل برنامج الرابط حتى اعرف انه لا توجد به اخطاء ، ويعمل نسخة منه ، خطوة بخطوة 🙂 . جعفر
  21. السلام عليكم 🙂 زميلنا واخونا @ابو جودي بالاضافة الى كونه خبير ، اصبح احد اعضاء فريق عمل الموقع 🙂 1. شاركونا في تهنئته ، 2. وخلينا نساعده في مهمته الجديدة 🙂 ابو جودي ، اهلا وسهلا بك معنا مرة اخرى 🙂 جعفر
×
×
  • اضف...

Important Information