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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. أخي ناصر طلبك غير واضح ، رجاء تفصّل اكثر ، واخبرني كيف طريقة العمل اللي تريدها لوسمحت جعفر
  2. وعليكم السلام أخي ناصر لا تستطيع ان تستعمل cmb_daraja بدون cmb_Sinf ، فيجب اختيار الصنف عن طريق cmb_Sinf ، وبعدها تستطيع ان تختار الدرجة التي تريدها عن طريق cmb_daraja. جعفر
  3. تفضل بنفس الطريقة في هذا الرابط http://www.officena.net/ib/topic/64815-جعل-حقل-الرصيد-فى-التقرير-يساوى-حقل-الرصيد-فى-نموذج-التقرير-من-حيث-الفرز-تنازليا-تصاعديا-وحذف-الصفر/?do=findComment&comment=421960 جعفر 257.1.مشكلة الطباعه واخراج التقارير1.accdb.zip
  4. وعليكم السلام لوسمحت تجرب المرفق ، واذا الرسالة الخطأ لا تزال موجودة ، رجاء عدل في بيانات القاعدة واخبرني ماذا ادخل حتى اوصل للخطأ ، انا ادخلت البيانات ، ثم اخبرني البرنامج انه لا يوجد طحين واقفل علي النوذج ، فرجاء تضبيط البيانات وارفاقه (اذا لم يعمل) جعفر 265.copy counter.accdb.zip
  5. تفضل التحويل Fail = 0 If [eslam] < 50 Then Fail = 1 Else Fail = 0 End If If [arab] < 50 Then Fail = Fail + 1 Else Fail = Fail + 0 End If If [engl] < 50 Then Fail = Fail + 1 Else Fail = Fail + 0 End If If [comp] < 50 Then Fail = Fail + 1 Else Fail = Fail + 0 End If If [Math] < 50 Then Fail = Fail + 1 Else Fail = Fail + 0 End If جعفر
  6. تفضل والكود اللي يضيف هو: Private Sub cmb_List_AfterUpdate() If Len(Me.Add_List & "") = 0 Then Me.Add_List = Me.cmb_List Else Me.Add_List = Me.Add_List & vbCrLf & Me.cmb_List End If End Sub جعفر 263.EXA.accdb.zip
  7. وعليكم السلام ارفق الجزء من برنامجك اللي فيه المشكلة لوسمحت ، واخبرنا وين تحصل المشكلة جعفر
  8. تفضل والكود: Function check_both_combos() 'No work without Sinf If Len(Me.cmb_sinf & "") = 0 Then MsgBox "Please select a Sinf" Me.cmb_sinf.SetFocus Exit Function End If If Len(Me.cmb_daraja & "") = 0 Then 'Only Sinf is selected Me.Sinf_Est = DLookup("[rakm istid]", "khibra", "[sinf]=" & Me.cmb_sinf) Me.Daraja_Est = "" Else 'both Sinf and Daraja are selected Me.Sinf_Est = DLookup("[rakm istid]", "khibra", "[sinf]=" & Me.cmb_sinf) Me.Daraja_Est = DLookup("[istidlal]", "khibra", "[sinf]=" & Me.cmb_sinf & " And [daraja]=" & Me.cmb_daraja) End If End Function Private Sub cmb_daraja_AfterUpdate() Call check_both_combos End Sub Private Sub cmb_sinf_AfterUpdate() Call check_both_combos End Sub Private Sub cmb_sinf_DblClick(Cancel As Integer) Me.cmb_sinf = "" Call check_both_combos End Sub Private Sub cmb_daraja_DblClick(Cancel As Integer) Me.cmb_daraja = "" Call check_both_combos End Sub جعفر 260.الشبكة الإستدلالية للمرتبات.accdb.zip
  9. وامثلة اخرى على استعمال الوحدة النمطية ومناداتها من الاستعلام: http://www.officena.net/ib/topic/64880-كيفية-جمع-قيمه-اكثر-من-حقل-ب-استعلام/?do=findComment&comment=422306 و http://www.officena.net/ib/topic/64683-خلل-في-تقريب-حقل-محسوب-في-استعلام/?do=findComment&comment=421364 جعفر
  10. حياك الله يعني انت اخترت الطريقة الاولى او الثانية ، فقط للعلم جعفر
  11. وعليكم السلام . أخي M_Hasanin انا مررت على هذا السؤال عدة مرات ، ولكني لم افهم الطلب فتركته ، فياريت لو انك تأخذ منك وقتك وتعطينا تفصيل عن سؤالك حتى نستطيع ان نساعدك . الآن وبفضل أخي الاستاذ علي ، قد عرفت ان الموضوع عن طباعة التقرير ، والجواب انه لا يمكن ان تجعل هوامش التقرير (اليمين او اليسار) = 0 ، والسبب ليس اكسس ، وانما الطابعة تحتاج مكان لجعل بكراتها من جانبي الورقة ، تسحب الورقة من الجانبين ، فهذا الهامش تحتفظ به الطابعة لنفسها ، ويختلف هذا الهامش من طابعة الى اخرى. والدليل: في التقرير ، في صفحة اعدادات الطابعة ، اختر الطابعة ، اجعل الهوامش الاربعة = 0 ، احفظ التقرير ، اغلق التقرير ، ثم افتح الاعدادات مرة اخرى ، ستجد ان التخاطب بين اكسس والطابعة نتج عنه اقل الهوامش التي تحتاج اليها الطابعة وللعلم ، اذا عملت التقرير على هوامش طابعتك ، ثم اخذتها لكمبيوتر آخر فيه طابعة اخرى ، فالهوامش سوف تتغير هناك ايضا الحل هو ، إما تصغر حجم الخط وحجم الحقول ، او تقلل عدد الحقول، او تختار الصفحة بالعرض ، او انك تلعب بمخطط التقرير ، وتوزع الحقول بطريقة غير اعتيادية ، بحيث تشمل جميع الحقول المطلوبة جعفر
  12. السلام عليكم ورحمة الله وبركاته كنت اشتغل على برنامج يتطلب مني ان اعمل في نموذج رئيسي حوالي 6 نماذج فرعية على هيئة تبويب. للتجربة ، استعملت قاعدة بيانات تجريبية فيها جداول بمجموع 189,450 سجل (في الواقع قاعدة البيانات التجريبية عندي فيها اكثر من مليون سجل ، ولكن لكي ارفع البرنامج للموقع ، اضطررت ان اصغر قاعدة البيانات ) ، حتى اعرف الوقت الذي يأخذه النموذج لفتحه ، ومقدار الذاكرة التي يحتاجها الكمبيوتر للقيام بفتح النماذج فقررت ان اضع النتائج بين يديكم ، والكود الذي سوف استخدمه هو Tbl.1 ، حيث مصدر سجلات النماذج هو الجدول مباشرة ، مع بعض الحقول المفهرسة ، والكود هو: DoCmd.OpenForm "frm_Emplyees_Main", , , "[emp_no]=" & Me.cmb_Names والسبب انه اسرع من مثيله ، هو انه نعمل التصفية بحقل رقم ، حيث التصفية بحقل نص يكون ابطأ ، والشئ الآخر الذي فاجئني ، انه يستخدم كمية من الذاكرة اقل من امر الاستعلام Qry.1 !! ، وربما يكون هذا بسبب انني قد استخدمت مربع السرد ، فاتى بالمعلومات مسبقا !! والارقام تختلف قليلا عند استعمال قاعدة البيانات الكبيرة ، والنتيجة ان الكود اعلاه هو الافضل اترك لكم جدول المقارنة ، مع البرنامج النموذج احتاج الى الثواني التاليه لفتحه حجم BE حجم FE اسم الزر/النموذج لا توجد فهرسة لحقول الجداول ، ولا توجد علاقات بين الجداول 0 360KB Frm_Main 6,270MB 450KB Frm_Main, select a name 6,313MB 622KB Qry.1 10,535MB 697KB Tbl.1 Tbl.2 12,354MB 810KB Tbl.3 12,436MB 907KB Tbl.4 النموذج احتاج الى الثواني التاليه لفتحه حجم BE حجم FE اسم الزر/النموذج تم اغلاق البرنامج وعمل فهرسة لبعض الحقول في الجداول ، وعمل علاقات بين الجداول 5,909MB 528KB Qry.1 6,040MB 608KB Tbl.1 Tbl.2 6,744MB 724KB Tbl.3 6,805MB 800KB Tbl.4 جعفر Stress_Test.zip
  13. بالنسبة لترتيب التقرير ، رجاء العمل بمثل ما قلته في الرابط اعلاه http://www.officena.net/ib/topic/64815-جعل-حقل-الرصيد-فى-التقرير-يساوى-حقل-الرصيد-فى-نموذج-التقرير-من-حيث-الفرز-تنازليا-تصاعديا-وحذف-الصفر/?do=findComment&comment=421960 جعفر
  14. العفو أخوي الحبيب رمهان ، وعلى راسي بس قصدي كان ان الكود لم يكن فيه طريقة تختلف عن طريقتي انا استخدم طابعة pdf الافتراضية من الرابط التالي: http://www.dopdf.com/ او http://www.primopdf.com/ نعم ، ولكنه لم يعمل معي رحم الله والديك على النصيحة ، احنا العمانيين مشهورين بطرق اخرى نخلّي الامور تضبط جعفر
  15. السبب الذي قلت ان جدولك ليس صحيحا لقاعدة البيانات ، هو انك يجب ان تضيف حقل جديد كل شهر ، فالطريقة الصحيحة لعمل الجداول هو اضافة سجلات وليس اضافة حقول وهناك مثل مشهور في قواعد البيانات يقول : الحقول غالية والسجلات رخيصة اما اذا تريد تمشي حالك الان بالجدول الموجود ، ومجرد تريد ان تجمع قيم جميع الحقول ، اعمل استعلام فيه جميع الاسماء ، وننادي منه الدالة Add_Salaries والتي عملناها في الوحدة النمطية ، ونرسل معها اسم الشخص: . وهذا كود الدالة Add_Salaries: Function Add_Salaries(F As String) As Double 'F = Full Name Dim rst As DAO.Recordset Dim fld As Field 'get this Name Record from the table Set rst = CurrentDb.OpenRecordset("Select * From [salary2015+2014] Where Full_Name='" & F & "'") T = 0 'initial Total 'loop through the fields For Each fld In rst.Fields 'Debug.Print fld.Name & vbTab & fld.Value 'skip the Full_Name field name If fld.Name <> "Full_Name" Then 'add the field values T = T + fld.Value End If Next fld 'now send this Total to the query Add_Salaries = T End Function . حيث اننا في الدالة نطلب سجل الشخص من الجدول salary2015+2014 ، ثم نقول بقراءة الحقول وجمعها ، زنرسل النتيجة الى الاستعلام ، فتصبح نتيجة الاستعلام: . جعفر 262.salary2015+2014.accdb.zip
  16. وعليكم السلام هناك طريقة افضل لحفظ سجلاتك في الجدول ، فطريقتك مأخوذة من الاكسل مثلا ، وليست صحيحة لقواعد البيانات . عملت لك جدول جديد ، وجلبت لك البيانات اليه: . والبيانات: . وعليه ، عملت عدد 2 استعلام جدولي ، واحد شامل لكل السنوات: . ونتائجه: . واستعلام سنوي (يعني استخدم خاصية التصفية) ، لكل سنة على حدة: . والنتيجة: . جعفر 262.salary2015+2014.accdb.zip
  17. أخي الفاضل رمهان الكود الذي استخدمته انت هو: DoCmd.OpenReport "مساعد كشف الارصده", acViewPreview, , Me.تابع4.Form.Filter, acHidden DoCmd.OpenReport "مساعد كشف الارصده", acViewNormal DoEvents DoCmd.Close acReport, "مساعد كشف الارصده" وهو نسخة اخرى من الكود الذي وضعته انا سابقا والظاهر ان سبب عدم عمل كود الطباعة هو ، ان التصفية تتم بعد فتح التقرير !! لقد حاولت ان آخذ مصدر التقرير ، واضع فيه التصفية والفرز مباشرة ، وارجعه إما بصيغة SQL او Recordset ، بحيث يفتح التقرير على التصفية والفرز مباشرة ، ولكن لم افلح جعفر
  18. حيا الله أخي وليد انا ما اعرف عن رقم 1 ، فانا استعمل صيغة 2010 ، وياريت المنتدى يعمل استفتاء لمعرفة النتيجة ، اما رقم 2 ، فياريت تخبرنا عن سبب افضليتها ، والاهم من هذا هو ذكر مصدر هذه المعلومة !! جعفر
  19. السلام عليكم لوسمحتي تكتبين تفاصيل أكثر عن لماذا أنه غير المطلوب. ولوسمحتي اختي ، اعملي مجموعة تواريخ في الاكسل ، وأمام كل تاريخ أخبريني ماذا تريدين أن تكون النتيجة. جعفر
  20. وعليكم السلام تفضل في الواقع انت قمت بمعظم العمل ، انا فقط ركبت الاشياء على بعضها جعفر 260.الشبكة الإستدلالية للمرتبات.accdb.zip
  21. تفضلي أختي جربي المرفق. جعفر 256.مثال.accdb.zip
  22. سيدي الكريم غير حدث زر الطباعة الى: Private Sub أمر9_Click() 'the print cannot take place directly with the Filter, 'so we have to open the Report in Preview mode, but hidden so the user doesn't feel DoCmd.OpenReport "مساعد كشف الارصده", acViewPreview, , Me.تابع4.Form.Filter, acHidden 'unfortunately, the sorting Order in the Report needs a bit of time to organize PauseTime = 1 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop 'now print the Report DoCmd.PrintOut DoCmd.Close acReport, "مساعد كشف الارصده" End Sub جعفر
  23. والآن الى الكنز المخزون في صفحة كود الاكسس ، والذي يحتوي على جميع اوامر الاكسس ، و VBA ، و..... افتح صفحة الكود: . إما تضغط على الايقونه الموضحة بالدائرة الحمراء في الصورة اعلاه ، او تضغط على الزر F2 في لوحة المقاتيح ، وستظهر لك هذه الشاشة: . في الشاشة التاليه: 1. اختر اي الاوامر تريد ، VBA او اكسس او ... ، فسترى انواع الاوامر المتوفرة لها في النافذة 2 ، انا اخترت VBA ، 2. ثم اختار نوع الامر الذي تريده ، انا مثلا اردت جميع اوامر التاريخ والوقت ، فسترى جميع اوامر التاريخ والوقت في النافذة 3 ، 3. اختار الامر الذي تريده وانقر عليه ، انا مثلا اخترت الامر DateAdd ، فسترى في الاسفل (4) طريقة كتابة الامر : . وتستطيع كتابة اي امر تريد في خانة البحث (Recordset مثلا) ، وستحصل على جميع الاوامر التابعة له وإخواننا الصعايدة على راسنا جعفر
×
×
  • اضف...

Important Information