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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام اعمل حقل في الجدول بإسم Bal ، اذا كان برنامجك على الاكسس 2007 فما فوق ، ففي الجدول حقل من نوع "حقل محسوب" ، تجعل فيه المعادلة التي تريد للحقل Bal ، وهو يحسبها تلقائيا اما الطريقة الاخرى ، ففي النموذج ، وعلى حدث "بعد التحديث" للحقل العدد المطلوب بيعة ، اعمل المعادلة: me.Bal= me.الرصيد - me.العدد والقيمة تلقائيا ستدخل النموذج والجدول جعفر
  2. وعليكم السلام أختي هكذا عمل الكود : اذا كان حقل عدد الاصناف نص ، فالمعادلة هي كما ذكرتي: =DCount("[رقم الفاتورة]";"الفاتورة";"[نوع الفاتورة] = 'شراء' And [عدد الأصناف]='" & [عدد الأصناف] & "'") بينما اذا كان حقل عدد الاصناف رقم ، فالمعادلة ستصبح =DCount("[رقم الفاتورة]";"الفاتورة";"[نوع الفاتورة] = 'شراء' And [عدد الأصناف]=" & [عدد الأصناف]) جعفر
  3. وعليكم السلام هناك 3 طرق للتعرف على الحقل الذي قيمته Null (لا قيمة ، او قيمة غير معروفة) ، سنعمل على هذا جدول ، ولاحظ السجلات الفاضية: . في الطريقة الاولى (IsNull) قلنا اذا الحقل Null ، فاعطنا النتيجة 0 ، في الطريقة الثانية (Len) قلنا اذا عدد حروف الحقل تساوي صفر ، فاعطنا النتيجة 1 ، . والنتيجة: . لكن الامر الاكثر إتباعا هو Nz ، ومعناه Null to Zero ، والامر هو NZ([Field_Name], Value to Replace)Q ، واليك 4 امثلة عليه: 1. الطريقة الخطأ في استعمال الامر ، حيث لم نخبر الامر النتيجة التي نريدها في حال اكتشف ان الحقل فاضي ، 2. اذا كان الحقل Null ، فحول نتيجة الحقل الى 0 (وهذه الطريقة الاكثر اتباعا) ، 3. وممكن ان ، اذا كان الحقل Null ، فحول نتيجة الحقل الى 1 (او اي قيمة ثابته) ، 4. والقليل يعرف ، اذا كان الحقل Null ، فتستطيع ان تعطي اي قيمة/معادلة شئت للحقل (لاحظ انا ضرب قيمة الحقل Field1 في 100 وفي 200 ، حسب قيمة Field1) ، وحتى يمكننا ان نستدعي دالة Function : . والنتيجة: . جعفر 292.Nulls.mdb.zip
  4. وعليكم السلام انا عملت لك طريقتين لعمل سجل جديد ، وتفتح النموذجين من ازرار النموذج الرئيسي: . . 1. الماكرو 1 يفتح النموذج frm_Table1 مباشرة على سجل جديد ، وهذه الطريقة هي الافضل ، 2. عند فتح النموذج frm_Table2 ، وعلى حدث "عند الفتح" ، يقوم ماكرو 2 بعمل سجل جديد (وهذا اللي انت قمت به) جعفر 291.English_wordings.mdb.zip
  5. السلام عليكم أخي ابو عبدالله هذا ليس برنامجي!! قلت لك جرب برنامجي ( Multilanguage3.zip )كما هو لوسمحت من النموذج الرئيسي تختار اللغة العربية ، ثم تضغط على زر Form Address ، وشوف مسميات الحقول والازرار بالعربي ، واضغط على زر ملاحظة1 وملاحظة2 حتى ترى الرسائل بالعربي هذا هو المطلوب جعفر
  6. السلام عليكم اخي العزيز / اخي الفاضل ، لو انا كنت فاهم الموضوع بالبيانات اللي انت ارفقتها من البداية ، لو صدقني من البداية تم الحل ، ولكن ، لا يغريك المسمى اللي على اسمي ، اني خبير وووو ، فانا ان لم افهم المطلوب ، لا استطيع المساعدة!! رجاء: جعفر
  7. انا جربت استعمل البرنامج ، بس ما عرفت شو المشكلة وشو المطلوب لهذا ، رجاء ادخل بيانات زيادة في برنامجك ، واخبرني شو اللي لازم يصير ، وفي اي حقل ، وياريت بالصور لأني مافهمت المطلوب جعفر
  8. السلام عليكم أخي عبدالله المسميات العربية نوعين: 1. اسماء الحقول والكائنات ، ومنها اسم افتراضي له امر1 ، وعند اضافة مربع نص يقوم بتسمية افتراضيا نص1 ، وليس عندي جواب لهذه الجزئية 2. واليك المثال التالي: الاسم مكتوب بالعربي ، وانا سأجعل ارتفاع هذا القسم اطول (القسم باللون الازرق) ، مستخدما الطريقة التقليدية في التسمية: . فيصبح الكود: Private Sub راس_التقرير_Format(Cancel As Integer, FormatCount As Integer) Me.راس_التقرير.Height = Me.Height + (2 * 1440) End Sub واليك التقرير التالي ، وهو نسخة طبق الاصل من التقرير السابق: . إلا اني لم اهتم بالمسميات العربية ، وانما استعملت اسماء فهرست الكائنات في التقرير ، فاصبح الكود: Private Sub Report_Open(Cancel As Integer) Me.Section(acHeader).Height = Me.Section(acHeader).Height + (2 * 1440) End Sub والنتيجة: . فقصدي هنا اننا يمكن ان نعالج جزء من المشكلة بهذه الطريقة جعفر 291.English_wordings.mdb.zip
  9. عفوا ، نسيت ارجع الاستعلام ليقوم بأخذ القيمة من النموذج الفرعي استخدم هذا SQL للاستعلام qry_Last_Disc_End_Date : SELECT DiscountEndDate FROM Cridi WHERE DiscountEndDate Is Not Null AND EmployeeID=[Forms]![frmCridi]![frmCridi_sub]![EmployeeID] ORDER BY ID DESC جعفر
  10. وعليكم السلام لم اتوصل لحل لأني بحاجة الى بيانات اكثر ، فالمثال الذي وضعته انت خطأ ، لأن فيه بيانات شهري 1 و 2 ، بينما اسم التقرير يقول بأن البيانات لشهر 2 !! والتاريخ ، هل نأخذه من جدول Daily؟؟ كيف والبيانات موجودة في الجدول det entry !! فرجاء تعبئة بيانات اكثر في قاعدة بياناتك ، ثم ضع مثال واضح بالارقام (يعني لا تخلي كل الارقام 5000 ، فبهذه الطريقة لن يمكنني معرفة هذا العدد ينتمي الى اي عمود). ورجاء جعل المثال واضح بالصور والاسهم (عن طريق power point مثلا) جعفر
  11. تفضل سؤالك لم يوضح انك تريد مقارنة تاريخ بداية الخصم مع تاريخ نهاية الخصم السابق!! هذا هو الكود الجديد: Private Sub DiscountStartDate_BeforeUpdate(Cancel As Integer) 'get the last Discount End Date 'mySQL = "SELECT DiscountEndDate FROM Cridi" 'mySQL = mySQL & " WHERE DiscountEndDate Is Not Null AND EmployeeID =" & Me.EmployeeID 'mySQL = mySQL & " ORDER BY ID DESC" 'Debug.Print mySQL ' 'Dim rst As DAO.Recordset 'Set rst = CurrentDb.OpenRecordset(mySQL) 'rst.MoveLast: rst.MoveFirst 'Last_Disc_End_Date = rst!DiscountEndDate Last_Disc_End_Date = DLookup("[DiscountEndDate]", "qry_Last_Disc_End_Date") If Me.DiscountStartDate <= Last_Disc_End_Date Then MsgBox " تاريخ بداية الخصم أكبر أو يساوي تاريخ نهاية الخصم السابق" Cancel = True Me.Undo End If End Sub جعفر 289.FrmCridi.mdb.zip
  12. وعليكم السلام خلينا نترجم كلامك الى لغة الاكسس انت قصدك بالعُهد هنا ، السجلات 1. طيب اذا كانت سجلات الشخص تتعدى الصفحة الواحدة ، مثلا صفحة ونصف ، فهل تريد ان تكتب تحت الصفحة الاولى مجموع سجلات الصفحة والنصف؟ طيب وفي نهاية سجلاته ، نهاية الصفحة ونص ، هل عندك مجموع هناك كذلك ، طبعا لا الطريقة الاسهل لحل هذه المسألة هي في التجميع والفرز في التقرير ، انظر المثال المرفق ، حيث سأعمل تجميع للحقل nam_Student (انت تستطيع ان تعمل التجميع لحقل العُهد): هذا شكل التقرير العادي ، واذا عملت مجموع العُهد ، فستأتي آخر التقرير (لآحظ لا يوجد قسم الصفحات هنا ، بدل قسم رأس وذيل التقرير) ، اضغط على 1 ، ثم 2 . الآن عملنا قسم/مجاميع خاصة للحقل nam_Student ، وظهر له رأس وذيل (وهنا تستطيع بهذه الطريقة ان تعمل مجموع العُهد في ذيل هذا القسم ، وسيكون صحيحا) . وفي الرابط التالي ، لاحظ الصورة الثانية والثالثة ، لنفس الغرض: http://www.officena.net/ib/topic/67329-حصر-اجمالي-عدد-الاجازات-لكل-موظف-في-التقرير-عنوان-معدل/?do=findComment&comment=437803 جعفر
  13. وعليكم السلام أستاذ عبدالعزيز لوسمحت تعمل موضوع منفصل لكل سؤال ، وان شاء الله تحصل على الاجابه جعفر
  14. وعليكم السلام بالنسبة الى اسماء اقسام النماذج او التقارير ، فيمكنك اللجوء الى اسماء البرنامج بدل الاسماء بالعربي (او حتى بدل الاسماء بالانجليزي): انظر المثال التالي: استعمل Me.InsideHeight = Me.Section(acDetail).Height * 10 بدل Me.InsideHeight = Me.Detail.Height * 10 . فمسمى Me.Section(acDetail)K هو مسمى البرنامج لجميع الاصدارات جعفر
  15. دي حركة جامدة اوي يا سيد جمال جعفر
  16. السلام عليكم أستاذ عبدالعزيز في مثل امريكي يقول: اذا الشئ ما مكسور ، لا تصلحه ليش غيرت اسم الحقل الى esm-altalep ؟ هذه كانت مشكلتك ، فارجعتها الى a3 ، والسلام ، طبعا شكرا انك اعطيتني رابط البرنامج الاصل ، اللي به عملت المقارنة واكتشفت الخطأ . والنتيجة: جعفر 288.المعلم اليمني1.mdb.zip
  17. وعليكم السلام أخي كريمو في الحدث "قبل التحديث" للحقل تاريخ نهاية الخصم ضع هذه المعادلة: if StartDate >= EndDate then msgbox "Start Bigger then End" endif جعفر
  18. السلام عليكم استاذ عبدالعزيز اذا سمحت لي ، فإن شاء الله انظر في موضوعك بعد كم ساعة جعفر
  19. السلام عليكم شباب تعليقي هنا فقط للرسالة التي في الصورة: تعارض الكتابة ، والرابط التالي يشرح السبب ، وطريقة تفاديه: http://www.officena.net/ib/topic/66025-لايمكنني-خزن-قيد-بالكامل-في-برنامج-فاتورة-مبيعات/?do=findComment&comment=429754 جعفر
  20. وعليكم السلام انا غيرت شوي على المثال السابق: . ولكن ، اذا عملت التغيير التالي على التقرير وفي المجموعات والفرز: . فالنتيجة: جعفر 286.برنامج حساب الاجازات 3.accdb.zip
  21. السلام عليكم أخي عمر نعم ، هذه الخاصية على البال . ولكن ، احد اسباب تأخير التحديثات هو ، هل بالفعل هناك من يستعمل البرنامج بانتظام ، ولماذا استعمال هذه الطريقة لعمل التقرير / تقارير بدل الطريقة التقليدية في عمل التقارير؟ جعفر
×
×
  • اضف...

Important Information