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

نجوم المشاركات

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      9,814


  2. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      8

    • Posts

      3,254


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      6

    • Posts

      8,723


  4. عبدالفتاح في بي اكسيل

Popular Content

Showing content with the highest reputation on 27 نوف, 2020 in all areas

  1. السلام عليكم 🙂 عندنا تقرير بهذه الطريقة : . ونريد نعملة بهذه الطريقة : . نعمل التقرير ، ثم نعمل مجاميع لأي من الحقول ، ثم نعمل حقل ليحسب عدد السجلات للمجموعة : . ويجب عمل برواز الحقول شفاف : ---------------------------------------------------------------------- التعديل - 1 ، 27/11/2020 تصحيح البرنامج ، على فرضية اطوال السجلات مختلفة وتحتوي على اكثر من سطر ثم نرسل هذه البيانات للوحدة النمطية Box_Lines التي تقوم بعمل البرواز : نرسل اسم الحقل المطلوب عمل المربع الكبير حوله ، ولون الخط ، ولون البرواز ، وعدد سجلات المجموعة : Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) 'No way to adjust the field Height, so we Draw a Box around the new Height Call apply_Max_Height("rpt", 0, "save", RGB(221, 217, 195)) 'Expand the field to be the size of the combined Records 'Call Box_Lines(fld , Text Fore color, Border Color, Group_Record_Count) 'Call Box_Lines(Me.Name, "save", vbBlack , vbBlack , Me.save_Footer) Call Box_Lines(Me.Name, "save", RGB(16, 37, 63), RGB(221, 217, 195), Me.save_Footer) End Sub . واستخدمت الوحدة النمطية لأخونا العود ابو خليل من هنا ، لضبط اطوال جميع السجلات الى الاطول : طلب كود تنسيق نمو حقول التقرير - قسم الأكسيس Access - أوفيسنا (officena.net) وتقوم الوحدة النمطية Box_Lines بعمل المطلوب ، بعمل حقل واحد (للجقل المطلوب) : Option Compare Database Option Explicit Dim str_Text As String Dim int_Counter As Integer Public fildMaxHeight As Integer Dim ctl As Control ' Public Function Box_Lines(rpt_Name As String, fld_Name As String, rgb_Fore As Long, rgb_Border As Long, Group_Record_Count As Integer) Dim L As Single Dim T As Single Dim W As Single Dim H As Single Set ctl = Reports(rpt_Name)(fld_Name) 'make it simple to understand L = ctl.Left W = ctl.Width T = ctl.Top H = ctl.Height 'take the highst Height If fildMaxHeight > H Then H = fildMaxHeight End If 'this is to know when a new Group starts If ctl <> str_Text Then str_Text = ctl int_Counter = 1 End If ctl.BorderColor = vbWhite ctl.ForeColor = vbWhite Reports(rpt_Name).Line (L, T)-(L, W), rgb_Border 'Left Line Reports(rpt_Name).Line (W, T)-(W, H), rgb_Border 'Right Line 'COULDN'T GET IT TO WORK ' If int_Counter = Group_Record_Count Then 'Last Record ' Reports(rpt_Name).Line (L, H)-(W, H), rgb_Border 'Bottom Line ' End If If int_Counter = 1 Then 'First Record ctl.ForeColor = rgb_Fore 'Text ForeColor Reports(rpt_Name).Line (L, T)-(W, T), rgb_Border 'Top Line End If int_Counter = int_Counter + 1 End Function Public Function find_Max_Height(rpt_Name As String, Section_Number As Integer) fildMaxHeight = 0 For Each ctl In Reports(rpt_Name).Section(Section_Number).Controls If ctl.Height > fildMaxHeight Then fildMaxHeight = ctl.Height End If Next End Function Public Function apply_Max_Height(rpt_Name As String, Section_Number As Integer, Exclude_fld_Name As String, rgb_Border As Long) fildMaxHeight = 0 'get the max Height For Each ctl In Reports(rpt_Name).Section(Section_Number).Controls If ctl.Height > fildMaxHeight Then fildMaxHeight = ctl.Height End If Next 'Draw lines around the fields For Each ctl In Reports(rpt_Name).Section(Section_Number).Controls If ctl.Name <> Exclude_fld_Name Then Reports(rpt_Name).Line (ctl.Left, ctl.Top)-Step(ctl.Width, fildMaxHeight), vbWhite, BF Reports(rpt_Name).Line (ctl.Left, ctl.Top)-Step(ctl.Width, fildMaxHeight), rgb_Border, B End If Next End Function . -------------------------------------------------------------------- النسخة اعلاه فيها خطأ ، فرجاء استعمال النسخة الاحدث ، والتي نستطيع فيها العمل على اكثر من حقل : جعفر 1293.1.Report_Draw_BoxLine.mdb.zip
    4 points
  2. كنت قد وضعتها لكن بالخطأ قد حذفتها https://www.youtube.com/watch?v=vx-oyYEx7LE&ab_channel=قناةساجدةالعزاويالتعليمية
    3 points
  3. وعليكم السلام ورحمة الله وبركاته استاذى الجليل و معلمى القدير و والدى والحبيب استاذ @jjafferr بسم الله ما شاء الله .. تبارك الله اولا جزاكم الله خيرا ثانيا سعادة الحياة أن تكون بجانبك وتساندك روح طيبة وكريمة تمنحك وتهديك الفرح والسرور وتدخل على نفوس من حولها الفرح و السعادة ولا أزكيكم على الله وكل اساتذتنا المبجلين كل كلمات ومعان الشكر والعرفان بالجميل لا تكفيكم وتوفيكم قدر حقكم بارك الله لكم فى عمركم وفى علمكم و عملكم واهلكم وأسال الله تعالى لكم سعادة الدارين وان يزيدكم من فضله كما تدخلون السرور على فلوب طلبة العلم دائما تكثرون من العطاء وبكل سخاء دون كلل ولا ملل احسن الله اليكم كما تحسنون الى طلاب العلم دائما
    3 points
  4. 😀 دانا حتى مبعرفش اجرى اخى @obaid70 بارك الله فيك وجزاك الله خيرا واسال الله لك ولجميع اخوانى واساتذتى الجزاء الحسن وبالتاكيد هناك حلول كثيره باذن الله واخواننا واساتذتنا لا يبخلون علينا وان شاء الله نكون فهمنا صح وتعديلك ممتاز ورائع مثلك بارك الله فيك 💐 اخى عبيد اضف DoCmd.RunCommand acCmdSaveRecord للحفظ قبل التحديث Private Sub أمر20_Click() DoCmd.RunCommand acCmdSaveRecord DoCmd.OpenQuery "qq" End Sub بالتوفيق
    2 points
  5. على حسب ما فهمت تريد العمل على ورقة العمل اثناء فتح اليوزرفورم اذا كان كذلك تحتاج الى هذا السطر من الكود UserForm1.Show 0
    2 points
  6. اعرض الملف واردات وصرفيات حسب الفئة النقدية إن الحمد لله نحمده ونستعينه ونسترشده ونعوذ به من شرور أنفسنا وسيئات أعمالنا، ونصلي ونسلم على حبيبنا وطبيب قلوبنا محمّد صلى الله عليه وسلم الذي بعثه الله تعالى بالهدى ودين الحق ليظهره على الدين كله ... أما بعد السلام عليكم وررحمة الله وبركاته إخوتي أحبتي الكرام: أعرض لكم بريمجاً صغيراً فكرت به لحاجتي إليه في مجال عملي أحببت أن أطلعكم عليه عسى أن يكتب الله تعالى لي به القبول ....آمين اعتمدت في إعداده على حساب الفئات لعملتين وهنا حسب العملة في لبنان والعملة الرديفة الدولار ...استخدمت بذلك الدالة SUMPRODUCT التي تسهل عملية جمع نطاق معين بآخر مماثل وفق العملة الأولى حسب سعر صرف العملة الثانية. استخدمت شرط أن يكون المبلغ المصروف أقل أو يساوي المبلغ الموجود من كل فئة على حده (قواعد التحقق من الصحة) ... كان مناسباً عندما كان الحساب التلقائي يدوياً ...أما عندما حولته تلقائي عدلت عنه إلى (التنسيق الشرطي)...مقبول إلا أنه لا يؤدي عمل التحقق من الصحة. ألمحت في كل حقل مفعل من الفئات إلى قيمة كل فئة لتسهيل التعامل معها. عند كتابة الاسم تتم كتابة الوقت والتاريخ تلقائياً. وضعت في عمود مخفى قيمة كل دفعة سواء كانت دفع أو قبض ومن خلال كون الرقم أكبر من صفر أو أصغر يتم تحديد مكانه في المقبوضات أو المدفوعات باستخدام الدالة SUMIF، كما تم إضافة جمع تراكمي للرصيد عند كل دفعة. تم إدراج أكواد للحفظ والمسح والتفقيط و الطباعة ، كما تم إدراج ثلاثة أوراق لطباعة المقبوضات والمدفوعات وموجودات الصندوق في حال الرغبة بـطباعة قيد ما من الصندوق نحدد رقم قيدها فيحدد جميع حقول ذلك القيد ثم ننتقل إلى ورقة طباعتها المقبوضة أو المدفوعة. للحفاظ على رصيد الفئات مضبوطاً حسب عدد كل فئة لا بد من تسجيل حتى صرف مبلغ ما بفئات أقل في حقل محدد (الفكة - الفراطة...وقد يكون لها تسميات أخرى لا أعرفها). أرجو أن أكون وفقت لشرحه كما أرجو الله تعالى أن يكتب لنا الأجر والثواب ..نسألكم الدعاء لي ولوالدي وللمؤمنين ولولدي "علي" رحمه الله تعالى.. والله من وراء القصد . والسلام عليكم ورحمة الله وبركاته. أخوكم المحب لكم محمد حسن المحمد أبو يوسف. صاحب الملف محمد حسن المحمد تمت الاضافه 27 نوف, 2020 الاقسام قسم الإكسيل  
    1 point
  7. استكمالاً لتطوير برنامج المطاعم أرفق لكم النسخة مفتوحة المصدر آملاً أن تحوز على رضاكم وستحسانكم ولا تنسونا ومعلمينا من دعائكم ،،، كما أشكر مساهمة أستاذي @ابو عارف أنقر هنا للتحميل بدون ضغط Restaurant.rar
    1 point
  8. هديتى برنامج جاهز_طباعة شيكات بنك_التجارى الدولى_CIB_مع امكانية اضافة بنوك اخرى تحياتى و ايام مباركه سبحان الله و بحمده مرفق برنامج بسيط جاهز للطباعه على شيكات بنك التجارى الدولى_مصر_CIB مميزات البرنامج يتم التفقيط تلقائى بالجنيه المصرى كود بحث و اضافه دبل كليك عن المستفيد امكانية اضافة عدد لا نهائى من البنوك مع ضبط ابعاد الشيك كود طباعه للشيك لاضافة اى بنك جديد من صفحه جديده الاكسيل من view اضغط على page layout و حدد ابعاد الشيك ابقى حدد نطاق الطباعه من print area و من print preview اجعل paper size envelope 10 يوجد بدفتر الشيكات قبل نهايته نموذج ورق لعروض البنك اقطعه و اقطع ورق تصوير على قده و ابدأ ضبط فورم الاكسيل على الشيك و ابدأ اطبع نموذج الاكسيل و ضعه خلف اصل شيك من دفتر الشيكات و شوف فى الضؤ هل الفريم المطبوع مناسب لاماكن الرقم و التفقيط و التاريخ لا تنسونا من صالح الدعاء برنامج الطباعه على Check_cib_2018.xlsm
    1 point
  9. تفضل التعديل ارجو ان يكون طلبك block-10.rar
    1 point
  10. وعليكم السلام ورحمة الله وبركاته اخي الفلاحجي دائما يسبقني الى فعل الخير على كلا الحمد لله انه يوجد اكثر من حل واكثر من طريقة هذا حسب ما فهمت ان لم اكن قد اصبت نتناقش حتى نصل الى ما تريد برنامج العاملين2.accdb
    1 point
  11. وعليكم السلام اخى @ابوصلاح اتفضل لعله ما تريد تم انشاء استعلام تحديث للتحديث باخر درجه وتاريخ فالجدول tbl_bianat لكل id UPDATE tbl_bianat SET tbl_bianat.darga = DLast("daraga","tbl_daragaSS","[Id]=" & [tbl_bianat].[id]), tbl_bianat.date_draga = DLast("date_daraga","tbl_daragaSS","[Id]=" & [tbl_bianat].[id]); شغل النموذج frm_bianat_mfrd واضغط زر التحديث لاخر تاريخ جرب ووافنا بالنتيجه بالتوفيق برنامج العاملين.accdb
    1 point
  12. اعتقد عرفت مكان الخلاف 🙂 حسب نتائج الملف المرفق ، الدائن اكبر من المدين ، لهذا السبب النتيجة يجب ان تكون دائن ، بينما النتيجة عندنا في الدائرة الحمراء مدين ، وهذا الخطأ الذي تتكلم عنه : . ولكنك اردت المعادلة بهذه الطريقة : . فالظاهر انك عكست اول طلبين ، فعليه الكود يجب ان يكون : . وعليه تكون النتيجة: . إلا اذ في شيء آخر ما فهمته انا !! جعفر 1292.1784258757_.accdb.zip
    1 point
  13. وعليكم السلام 🙂 الاستعلام qry_1 يأخذ جميع بيانات الجداول (مثل بقية استعلاماتك ، ولكن بدون اي معيار) ، والاستعلام qry_Group ، فيقسم البيانات الى مجموعات ، ثم يحسب مجموع قيمة مبلغ كل قسم ، ولا يحسب ترتيب مجموع الدائن والمدين والصافي ، لأننا نقوم بجمعه في هذا الاستعلام (أ. لأني ما ادري كيف قمت انت بعمل حسبة الدائن والمدين والصافي ، ب. لأن احد هذه القيم لم تكن في الجدول ، فقمت بعملية الحسبة احتياطا 🙂 ) . وتقدر تضع معيار التاريخ ، ورقم الملف في هذا الاستعلام ، وباقي العمل يقوم به التقرير ، وفيه مجموع الدائن والمدين والصافي 🙂 جعفر
    1 point
  14. الأستاذ الفاضل : سليم حاصبيا بارك الله في حضرتك تم عمل المطلوب ... جزاك الله كل الخير ونفعك بعلمك الأستاذ المحترم : عبدالفتاح في بي اكسيل بارك الله في حضرتك وجزاك الله كل الخير
    1 point
  15. وعليكم السلام 🙂 تفضلي 🙂 . . والاستعلام: SELECT numbers.textnumbers, Mid([textnumbers],1,InStr([textnumbers],"/")-1) AS L, Mid([textnumbers],InStr([textnumbers],"/")+1) AS R FROM numbers; جعفر
    1 point
  16. بارك الله فيك وزادك الله من فضله ورحم الله والديك
    1 point
  17. وممكن هكذا Private Sub sss_AfterUpdate() DoCmd.ApplyFilter , "[Expr1]= '" & Me.sss & "'" DoCmd.OpenReport "rep", acViewReport, , "[Expr1]= '" & Me.sss & "'" End Sub وهكذا افضل Private Sub sss_AfterUpdate() Dim x As String x = "[Expr1]= '" & Me.sss & "'" DoCmd.ApplyFilter , x DoCmd.OpenReport "rep", acViewReport, , x End Sub Database11.accdb Database12.accdb
    1 point
  18. السلام عليكم ورحمة الله وبركاته أنا عندي مدين ودائن ورصيد تراكمي =IIf([نص47]-[نص45]<0;"مدين عليه";"دائن له") هاي معادلة شغالة معي وهاي إذا كان دائن انا كاتب بالعربي بإمكانك التغيير باللغة حسب ماتريد
    1 point
  19. اسف لم انتبه الى موضوع التقرير الذي تكلم عنه الاخ نبراس وهذا التعديل بعد اضافة زر لفتح التقرير Database2.accdb
    1 point
  20. وعليكم السلام اتفضل ان شاء الله يكون ما تريد تم ازاله المعيار من الاستعلام ووضع الكود التالى فى حدث بعد التحديث DoCmd.ApplyFilter , "[Expr1]= '" & Me.sss & "'" بالتوفيق Database1.accdb
    1 point
  21. وعليكم السلام ماشاء الله بارك الله لنا فيك اخى ومعلمنا العزيز جعفر وجزاك الله خيرا 💐
    1 point
  22. وعليكم السلام بشمهندس 🙂 عملت لك برنامج خاص 🙂 جعفر
    1 point
  23. اعمل استعلام تحديث للحقل A ، واعمل المعايير المطلوبه للاستعلام ، في التحديث ، استعمل: not [A] جعفر
    1 point
  24. عُذرا ، هذا الاختلاف يصير لما تنصيب الاكسس يكون انجليزي و عربي !! بدل الفاصلة ، استخدم الفاصلة المنقوطة 🙂 . . كون الحقل Rslt يستعمل نتيجة الطرح بين حقلين ، واللي يأخذ قيمته من حقلين آخرين ، فخلينا نقطع الوسيط ونتواصل مع الاصل ، ولكن ، وبما انك تضيف بيانات في النموذج الفرعي ، فالحدث عند التحميل سيعطيك نتيجة الجمع لما تفتح النموذج لأول مرة فقط !! جعفر
    1 point
  25. شكرا استاذ ( الفلاحجى ) و استاذ ( husamwahab )
    1 point
  26. السلام عليكم تابع هذا الموضوع
    1 point
  27. تفضل 🙂 . =IIf([Rslt]=0,"لا يوجد رصيد",IIf([Rslt]>0,"مدين","دائن")) جعفر
    1 point
  28. عليكم السلام إن شاء الله شكرا لك ابوخليل الله يحفظك أخي الكريم husamwahab شكرا جزيلا لك الله يجزاك خير ويعطيك العافية أخي الكريم obaid70 شكرا جزيلا لك
    1 point
  29. احسنت اخى واستاذى @husamwahab وجزاك الله خيرا 💐 بالتوفيق
    1 point
  30. تفضل 🙂 التقرير مبني على اساس الاستعلام qry_Group ، والذي يمكنك وضع المعايير فيه ، هكذا التقرير قي وضع التصميم : . وعلى حسب العرض المتوفر ، نعمل عدد الاعمدة : . والنتيجة : . جعفر 1290.السجل.accdb.zip
    1 point
  31. مرفق الملف بعد اضافة دالة vlookup وكذلك اضافة تنسيق شرطي للتكرار في العمودين (ملون باللون الآخضر) أتمنى أن يكون هذا هو المطلوب TEST.xlsx
    1 point
  32. فكرة جميلة والأجمل أنها منكم ولكن تلك الصورة هل هي فزاعة لأن لا يقوم أحد بتحميل المرفق أم هي كما قال أستاذنا الكريم أبو خليل تعبير عن الانبثاق؟!! عودا أحمد أبا جودي
    1 point
  33. عمل رائع --- الله يجزيك الخير
    1 point
  34. بارك الله بك استاذ ابا جودي ومرة ثانية اهلاً وسهلاً بعودتك الصور المخيفة لا توحي لنموذج منبثق حسبتها ستخرج علية من الشاشة هههههه
    1 point
  35. هديه جميله ومتميزه 💐 والاجمل هو عودتك اخى واستاذى العزيز محمد عودا حميدا تقبل تحياتى
    1 point
  36. قم بتغيير الكود الى هذا Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Unprotect '================== For Each cel In Target.Cells Application.EnableEvents = False If cel.HasFormula Then cel.Locked = True cel.FormulaHidden = True With ActiveSheet .Protect .EnableSelection = xllockedCells End With GoTo 1: Else ActiveSheet.Unprotect End If Next 1: Application.EnableEvents = True End Sub
    1 point
  37. هذا الكود يسمح لك بتحديد الخلية المحمية فقط دون ان يسمح بأي اجراء عليها(حذف--- تعديل---نسخ ---الخ) و يخفي المعادلة ايضاً و لا يأخذ بالحسبان الا المعادلات ( جربه و اعطني رأيك) Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Unprotect If Target.HasFormula Then With Target .Locked = True .FormulaHidden = True End With With ActiveSheet .Protect .EnableSelection = xllockedCells End With End If End Sub
    1 point
  38. انسخ هذا الكود الى حدث الصفحة و اعطني رأيك Private Sub Worksheet_SelectionChange(ByVal Target As Range) '''''''''''''''''''''''''''''''''''''''''''''''''''''''' Application.ScreenUpdating = False If Target.HasFormula = True Then Application.DisplayFormulaBar = False ActiveSheet.Protect Application.ScreenUpdating = True Exit Sub Else Application.DisplayFormulaBar = True ActiveSheet.Unprotect End If Application.ScreenUpdating = True End Sub
    1 point
×
×
  • اضف...

Important Information