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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. السلام عليكم أخوي ابوحاتم انا اشتغلت بالمقلوب ، لأن صافي الراتب (بعد إضافة المخصصات والإستقطاعات) ما موجود في اي جدول ، فاضطررت ان اضيف البيانات في جدول_طباعة_الرواتب (مثل ما عملت سابقا) ، ومنه أخذت صافي الراتب ، واستخرجت 3% مال رعاية القاصرين ، ثم اضفت هذه المعلومات الى جدول الاستقطاعات_الشهرية يعني هذه المعلومات ستكون متوفرة بعد ان تستخدم نموذج تهيئة الرواتب للشعبة المطلوبة اضفت استعلامين: qry_3_Percent_Clear_3 qry_3_Percent_Deduct_4 لماكرو تهيئة_الرواتب_للطباعة ، وسلامتك جعفر
  2. حياك الله أخوي نعم هي بالضبط جعفر
  3. أخوي أبو وليد انصحك بإستخدام طريقة أخونا كرار ، مع تعديلي لأني لاحظت ان طريقتي تعطي ارقام غير صحيحة لما السجلات تكون كثيرة ، لازم اشوف ليش ، بس حق شغلك ، خذ الطريقة الصح جعفر
  4. السلام عليكم أخوي حربي الآن ان شاء الله انظر في برنامجك ، بس الله يخليك خليك معاي علشان اذا احتجت حاجة جعفر
  5. طريقة حلوة ، وما ممكن تيجي على بالي 1. بس استعلامك كله كود 2. وهنا اذا تسمح لي اتدخل: انا ذهبت الى الجدول ، ونسخت السجلات والصقتهم عدة مرات ، ثم حذفت السجلات الاولى ، وبهذه الطريقة ، الرقم التلقائي لم يبدأ بالرقم 1 ، فإستعلامك يحتاج له تعديل بسيط حتى يشتغل على جميع الارقام في الاستعلام ، غيّر قيمة ID2 الى القيمة التالية: ID2: DCount("ID","Query1","ID <=" & [ID])-1 جعفر
  6. وعليكم السلام ورحمة الله وبركاته غيّر معيار الاستعلام (اعمل لها نسخ/لصق ، لأن الكلمات العربية قلبت المعادلة ، فلن تستطيع فهم المعادلة من النظر اليها) : بدل IIf([Forms]![جدول2]![خيار10]=Yes,"م") الى IIf([Forms]![جدول2]![خيار10]=Yes,"م",[الحصة]) وللمنفعة العامة ، وكمثال على المعادلة ، اذا كانت الكلمات بالانجليزية ، فطريقة عرض المعادلة هكذا: بدل IIf([Forms]![frm_Classes]![txt_opt]=Yes,"M") الى IIf([Forms]![frm_Classes]![txt_opt]=Yes,"M",[Classes]) جعفر
  7. أخي الفاضل انا انزلت المرفق ، ولكني لما قلت وللأسف الشديد مافي اي تفصيل او ايضاح منك ، فلهذا ، وللأسف ما اقدر اساعدك ، لأني ما اعرف وين المشكلة جعفر
  8. ولا يهمك ، انا في انتظار معرفة طريقتك والتعلم منها تفضل جعفر
  9. هذه المعلومة ماتفيد في حل المشكلة ، كأنك تقول للدكتور اني مريض وعطني علاج لازم تخبرني بالضبط شو اللي ما نجح ، وبعدما عملت شو ، وفي اي حدث ، واي نموذج!! البارحة لما اشتغلت على قاعدة بياناتك ، ما قدرت ، لأن فيها مشكلة ، لهذا السبب عملت قاعدة جديدة!! جعفر
  10. في اول سجل تُدخله ، وبعد ان يعطيك البرنامج رقم جديد ، غيّره يدويا الى 1001 (هذا سيكون اول/اكبر رقم في الحقل/الجدول) ، وعليه سيعتمد الرقم التالي عليه ، اي 1001 + 1 جعفر
  11. لا يمكن عمل الاثنين معا!! 1. اذا بمجرد فتح النموذج ، معناه ان النموذج يكون في حالة "ادخال بيانات" ، فعليه يمكن نقل الكود الى حدث "عند فتح النموذج" ، واذا عملت هذا الشئ ، فمعناه ان الرقم سيكون موجود في النموذج لما يفتح مباشرة ، وانت بعدك ما ادخلت شئ ، ولا حتى الاسم!! 2. اما اذا ما تريد الرقم عند فتح النموذج ، فتقدر تخلّي الكود على حدث "بعد التحديث" لحقل "رقم الهوية" ، اي بعد ان يتم ادخال البيانات في آخر حقل في النموذج. وفي كل الحالتين اعلاه ، البيانات اللي في النموذج ، لن تُحفظ في الجدول إلا بعد ان تنتقل من السجل الذي انت عليه ، سواء بالانتقال الى السجل آخر ، او بإغلاق النموذج. عندما تُدخل بيانات او تُغيرها سواء في نموذج او جدول ، ترى العلامة التي في الدائرة الحمراء (قلم) ، والتي تعني ان السجل غير محفوظ بعد: . واذا اردت ان تلغي جميع ما عملت في هذا السجل ، فعليك الضغط على الزر Esc (على لوحة المفاتيح) مرتين. اما اذا انتقلت الى سجل آخر سواء في نموذج او جدول ، فسترى العلامة التي في الدائرة الحمراء (مثلث) ، والتي تعني ان السجل محفوظ: . وانت الآن عندك الكود ، فغيّر مكانه للمكان اللي يريحك 3. اما اذا اردت الاثنين ، فهذا معناه انه يجب ان يكون نموذجك غير مضمن ، ولا الحقول ، وانك بالكود تجلب البيانات للنموذج ، وبالكود تحفظ البيانات للجدول جعفر
  12. تفضل لما تكتب الاسم في سجل جديد ، ولما تطلع من حقل الاسم ، الرقم سيظهر لك والكود هو : Private Sub full_name_AfterUpdate() If Me.NewRecord Then Me.Out_Number = Nz(DMax("[Out_Number]", "table1"), 0) + 1 End If End Sub جعفر 258.DB.accdb.zip
  13. في حاجة إحنا الاثنين متفقين عليها ، وهي عمل النموذج بس اللي ما متفقين عليه ، هو من يعمل النموذج ، انا او انت انت اعمل اللي عليك ، وانا ان شاء الله اكمل لك الباقي ايش رأيك وطبعا هذه الجزئية هي اسهل ما يكون في برنامج الصادر والوارد جعفر
  14. في نفس الرابط ، المشاركة التالية تشرح لك كل شئ: http://www.officena.net/ib/topic/61730-كيفية-ترقيم-القيد-بعد-حذف-القيد/?do=findComment&comment=398763 واذا لازلت في مشكلة ، فالرجاء شرح ما قمت به (على اساس الرابط) ، ثم ترفق برنامجك ، والذي يجب ان يكون فيه عملك لوسمحت جعفر
  15. حياك الله النتائج حاليا تُعرض في الاستعلام ، فما عندك مشكلة هناك ولكن علشان نستغني عن النموذج (كل اللي يعمله هو ان يخبر الوحدة النمطية بأن بداية السجلات من هنا) ، محتاج الى تسلسل من 1 الى آخر رقم ، كبيانات حقل ، هذه البيانات موجودة في مرفقك ، حقل Field1 ، ولكنها غير موجودة في الصورة التي وضعتها في سؤالك الاصل جعفر
  16. السلام عليكم هذا الاستعلام ، ونرسل قيمة الحقلين t و close الى الوحدة النمطية add_3 . والنتيجة: . وهذا كود الوحدة النمطية: Public RowID As Integer Public RowVal_1 As Double Public RowVal_2 As Double Public RowVal_3 As Double Function Add_3(T, N) 'T = ticker 'N = close If T = 1 Then RowVal_1 = N RowVal_2 = 0 RowVal_3 = 0 ElseIf T = 2 Then RowVal_2 = N RowVal_3 = 0 ElseIf T = 3 Then RowVal_3 = N Else RowVal_1 = RowVal_2 RowVal_2 = RowVal_3 RowVal_3 = N End If If T = 1 Then Add_3 = 0 ElseIf T = 2 Then Add_3 = 0 Else Add_3 = RowVal_1 + RowVal_2 + RowVal_3 End If End Function جعفر 256.Database2.accdb.zip
  17. وعليكم السلام المنتدى غني بمثل هذه الاسئلة المتكررة ، فياريت تعمل بحث قبل ان تضع سؤالك الرابط التالي فيه رد على سؤالك: http://www.officena.net/ib/topic/61730-كيفية-ترقيم-القيد-بعد-حذف-القيد/ جعفر
  18. شكرا جرب هذا الكود بدل السابق : Public RowID As Integer Public RowVal As Double Function Add_5(N) 'N = vol ' If Len(RowID & "") = 0 Or RowID = 0 Then RowID = RowID + 1 ' End If If RowID = 1 Then Add_5 = N Else 'Add_5 = N + RowVal + 5 Add_5 = RowVal + 5 End If RowVal = Add_5 End Function جعفر
  19. . وصلتني رسالتك بالايميل ، ولكنها غير موجودة في الرابط الذي ارفقته انت!! جعفر
  20. وعليكم السلام فهرسة الحقول في الجداول تجعل البرنامج اسرع ، حيث يقوم الاكسس بحفظ بيانات هذه الحقول المفهرسة في ذاكرته ويقرأها من هنا ، بدل قرأتها من الجداول والفهرسة يجب ان تكون للحقول التالية ، اذا اردت تسريع البرنامج: 1. حقل الترقيم التلقائي ، هذه سهلة وما يحتاج لها شرح 2. الحقول التي تستخدم لها معايير في استخلاص معلومات السجل: في الاستعلام (سواء استعلام عادي او في الكود) ، اذا عملت معيار/تصفية لحقل/حقول ، في الاستعلام (سواء استعلام عادي او في الكود) ، اذا عملت فرز لحقل/حقول ، في النموذج / التقرير ، اذا عملنا تصفية عن طريق me.Filter او فرز عن طريق me.Orderby ، في النموذج / التقرير ، اذا عملنا كود/ وحدة نمطية فيه تصفة / فرز ، في النموذج / التقرير ، اذا عملنا كود/ وحدة نمطية فيه اوامر Dcount , Dmax, Dlookup , Dlast, Dfirst ، وفيها اسم حقل تصفية مثل (حقل C هنا): A = DLookup("[B]", "FromThisTable", "[C]= " & C) . وأحد الطرق الجداً مهمة ، هي عمل استعلام لأي شئ تريد البحث فيه او تفرزه ، ولا اعني استعلام في الكود ، وانما استعلام منفصل ، والمهم ايضا ، عندما تعمل الاستعلام ، انه بين الفترة والاخرى تستخدم "الضغط والاصلاح" ، لأنه يعيد فهرست البرنامج ، وينظم عمل الاستعلام ويجعله اسرع جعفر
  21. انا شغلي كله على اساس مثالك. آسف نسيت اجمع الرقم 5 لوسمحت ، اعمل لي النتيجة اللي لازم تظهر مال البيانات اللي موجودة في المرفق. جعفر
×
×
  • اضف...

Important Information