بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
في الواقع هذه الجملة استوقفتني ، وظليت افكر فيها طويلا ، ووصلت لهذه النتيجة: اللحم والدجاج والسمك والخضار والتوابل موجودة من آلاف السنين ، ولكن هذا ما منعنا ان نكون مميزين في طبخاتنا ، عندنا الرخال والمندازي والسيويه ، والحلوى والقشاط ، الشواء والمشاكيك والمضبي ، ونطبخ من القاشع والعوال ، واما البابلو فيا سلام 🙂 فما يهمك من بدأ قبلك ، فعندك حس مميز ، والكل ينتظر كل جديد منه 🙂 جعفر
- 18 replies
-
- 3
-
-
-
-
- مهارات في أكسس
- الأكسس يتكلم !
-
(و2 أكثر)
موسوم بكلمه :
-
اما انا ، فكنت اول واحد يدخل في الموضوع ، وانزلت المرفق لأستمع وارى الكود 🙂 الكود جدا بسيط ونظيف ، عمل جميل 🙂 في اعتقادي @ابو جودي قام بمثل هذا العمل سابقا ، ولكني لا اتذكر التفاصيل 🙂 جعفر
- 18 replies
-
- 2
-
-
-
- مهارات في أكسس
- الأكسس يتكلم !
-
(و2 أكثر)
موسوم بكلمه :
-
وعليكم السلام اخوي ابوخليل 🙂 1. نعم فكرت في الموضوع ، لهذا السبب كنت دائما انقح وازيد في مشاركتي الاولى حتى اشمل كل شيء عن الموضوع ، واحتاج لها بعض الامثلة مع صور علشان تكمل ، 2. في الواقع ما نظرت للموضوع عن كيفية حل السؤال بطريقة اخرى ، فطريقة السؤال كانت توجهني في اتجاه استعلام التوحيد 🙂 جعفر
-
عندك طريقتين لإضافة اي حقول/فرو/تصفية ، يا في اول استعلام توحيد (طبعا في احد او جميع الاستعلامات اللي فيه ، والافضل تجهز الاستعلامات وتجهز كل واحد منها بالنتائج الصحيحة ، ثم تضيفها في استعلام التوحيد) ، او في آخر استعلام. قد يكون الاسهل لك ان تضيف معيار التاريخ في الاستعلام الاول : 1. كمعيار (سواء لإستعلام واحد او عدة استعلامات) دون إظهاره في السجلات (إزالة علامة الصح تحت الحقل ، او استخدام Where في الاستعلام التجميعي) ، وعادة المعيار يشير الى حقل التاريخ في النموذج مثل Forms!frm_Main!Date_From ، 2. او اذا ما عمل لك مشكلة ، فيمكن اظهاره في السجلات. اذا استعملته كمعيار فقط ، ولكنك تريد اظهاره في الاستعلام الاخير ، فيمكنك عمل حقل جديد في الاستعلام الاخير للتاريخ ، هكذا: myDate: Forms!frm_Main!Date_From جعفر
-
وعليكم السلام 🙂 جوابي فقط على الجزئية: جربي هذا: 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 . جعفر
-
اول خطوة هي جعل الحقول المتشابهة تحت نفس العمود . عملنا استعلام جديد 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
-
كتابة التاريخ بصيغة لا تتغير بتغير اعدادات الوندوز
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
ما فهمت🥺 الظاهر ان القهوة بو شربتها الصبح بعدها ما داقه فراسي ، فياريت تشرح القصد من هذا الطلب 🙂 جعفر -
وعليكم السلام 🙂 الطريقة هي عمل استعلام توحيد ، بهذه الطريقة : 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; بعض الاوقات هذه الاستعلام سيعطيك البيانات المطلوبة ، ولكن قد تحتاج الى فرز او تصفية اضافية ، او تجميع سجلات في سجل واحد ، فما عليك إلا ان تعمل استعلام آخر ، ثم تستعمل استعلام التوحيد كمصدر بيانات هذا الاستعلام الجديد ، ثم تعمل فيه المطلوب 🙂 جعفر
-
كتابة التاريخ بصيغة لا تتغير بتغير اعدادات الوندوز
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
حيا الله اخوي موسى 🙂 اعطني امثلة ، وما يصير خاطرك إلا طيب 🙂 جعفر -
مقترح صحيح 100% 🙂 جعفر
-
وعليكم السلام 🙂 طريقة تعرّف المواقع على مكان تواجدك عند الدخول اليها ، هو عن طريق IP الكمبيوتر ، وهذه طريقة لمعرفة IP الكمبيوتر : . جعفر
-
مشكلة معي فى تحويل التاريخ الهجري والميلادي فى نفس الفورم
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
في هذه الحالة يجب ان يكتب تنسيق الحقل في الجدول كالتالي: dd/mm/yyyy وإلا فإنه سياخذ تنسيق الوندوز ، وتنسيق الوندوز عندي هو dd/mmm/yyyy ، فسيعطيه رسالة خطأ كذلك !! جعفر -
مشكلة معي فى تحويل التاريخ الهجري والميلادي فى نفس الفورم
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
انظر الى نوع حقل التاريخ الهجري في الجدول 🙂 الدالة 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 . جعفر -
مشكلة معي فى تحويل التاريخ الهجري والميلادي فى نفس الفورم
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
المفروض ان تظهر لك ارقام فقط ، لهذا السبب تحصل على خطأ عندما تنادي الدالة Um2Greg !! في الواقع المشكلة عندك في الجدول ، حيث ان حقل IqamaExpDateH هو تاريخ ، بينما يجب ان يكون نص . وبالتالي يتم حذف الاشارة الى ان الحقل تاريخ (احذف Short Date) . . وبعدها شوف النتائج 🙂 جعفر -
مشكلة معي فى تحويل التاريخ الهجري والميلادي فى نفس الفورم
jjafferr replied to عمر ضاحى's topic in قسم الأكسيس Access
السلام عليكم 🙂 يجب ان نرى ما يراه الكمبيوتر ، ثم نتخذ قرار التصحيح ، اضف الاسطر الثلاثة في الكود ، ثم انظر في اسفل صفحة الكود 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 . . جعفر -
لما تكون عندي معادلة بهذا التعقيد ، على طول وبدون تفكير ، اعمل وحدة نمطية واضع فيها المعادلة بطريقة مبسطة وبعدة اسطر ، ثم اناديها من الاستعلام 🙂 ننادي الدالة 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 . جعفر
-
-
الله يطول في عمرك ، المشكلة في اي نموذج ، واي حقل ؟
-
لهذا السبب ، لا استغنى عن البرنامج في الرابط ، كلما عملت اضافات على البرنامج اللي اشتغل عليه ، استعمل برنامج الرابط حتى اعرف انه لا توجد به اخطاء ، ويعمل نسخة منه ، خطوة بخطوة 🙂 . جعفر
-
السلام عليكم 🙂 زميلنا واخونا @ابو جودي بالاضافة الى كونه خبير ، اصبح احد اعضاء فريق عمل الموقع 🙂 1. شاركونا في تهنئته ، 2. وخلينا نساعده في مهمته الجديدة 🙂 ابو جودي ، اهلا وسهلا بك معنا مرة اخرى 🙂 جعفر