كل الانشطه
- الساعة الأخيرة
-
kkhalifa1960 started following تصدير محتويات نموذج فرعى الى اكسيل و pdf
-
تصدير محتويات نموذج فرعى الى اكسيل و pdf
kkhalifa1960 replied to jo_2010's topic in قسم الأكسيس Access
مشاركة مع استاذي @jjafferr تفضل د/ @jo_2010 محاولتي حسب ما فهمت . الشرح والمرفق . ووافني بالرد . Jo(2-5-2026).rar -
تمييز الاعداد من 3 الى 10 يكون جمع مجرور بالاضافة ويخالف العدد المعدود في التذكير والتانيث خمسة ريالات الريال مذكر فتكتب خمسة كما اشار الاستاذ منتصر خمس ليرات ليرة مؤنتة تأنيث لفضي فيكتب العدد خمس الاعداد 1 و 2 يوافق العدد المعدود تذكيرا وتانيثا ويسبق المعدود العدد رجل واحد سيارة واحدة العدد 2 يعرب اعراب المثنى فيرفع بالالف وينصب ويجر بالياء الفاض العقود تعرب اعراب جمع المذكر فترفع بالواو وتنصب وتجر بالياء وتمييزها مفرد منصوب ولا تتاثر بالتأنيث والتذكير قرأتُ عشرينَ كتاباً شاهدت عشرين طالبا مررت بعشرين طالبا الاعداد 100 و 1000 و الخ تمييزها مفرد مجرور بالاضافة لماذا هذه المشاركة ربما ينتفع بها احدهم املاه اخونا الشايب
-
السلام عليكم الاساتذم الكرام لدي جدول فيه من الاعلى مؤمن وغير مؤمن في الاعمده يتم تلوين المؤمن فقط بلون المركز الذي يتبع له ةفي غير المؤمن الباقي بلا تعبئة وفي يسار الشاشه يوجد ملخص الالوان كل لون مجموع عدد بكل الجدول بحيث اي تعديل باي خليه يتم التعديل في المؤمن والغير مؤمن وايضا في ملخص المراكز okتامينات2026.xlsm
-
السلام عليكم الحل في Function CountByColor(rng As Range, clr As Range) As Long كما اقترح عليك استاذتا Foksh في رده هذا الملف 112.xlsm
-
منتصر الانسي started following إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
-
إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
منتصر الانسي replied to Moosak's topic in قسم الأكسيس Access
عمل رائع أخي @Moosak وإثراءً للموضوع أرفق لكم مثالين الاول للأستاذ الغالي @عبدالله باقشير الله يذكره بالخير (كان مشرفاً لمنتدى أكسل وكان إسمه في المنتدى خبور خير) حيث أنه قد قام بتغطية كل ماجاء في هذا المثال مع إضافة بعض الإضافات الجميلة التي يمكن أن يراها البعض مهمة ولعل أهمها - طريقة كتابة إسم العملة للأرقام من 3 إلى 10 (مثال خمسة ريالات وليس خمسة ريال) - إمكانية تفقيط رقم يصل إلى البلايين (مايزيد عن 999 مليار) المثال الآخر للأستاذ الكبير أبو هادي (لن يعرفه إلا القدامى 😅) ويشبه مثال الاخ عبدالله كثيراً ولكنه يتميز عنه بأنه ثنائي اللغة فيمكنك التفقيط باللغتين العربية والإنجليزية فلو أمكنك أستاذ موسى الإطلاع على المثالين لترى إذا ماكان بإمكانك إضافة الخيارات الإضافية التي وردت فيها لتخرج بعمل أكثر تكاملاً أمثلة للتفقيط.rar - Today
-
جزاك الله خيرا استاذي الكريم لم تقصر ابدا في مساعدتنا وفقك الله الى كل خير واسف مره اخرى على كثره الاسئله ,ولكن حاجتي الى الملف ادت الى ذلك
-
عذراً على المتابعة .. فخبرتي في اكسل ليست قوية بما يكفي 😅 حتماً سنجد هنا قامات واسماء لها خبرة أكثر مني
-
تفضل يا سيدي: عملت نسخة من الاستعلام Qry_Lab_Request واسميته Qry_Lab_Request_for_Export حتى تكون البيانات مخصصة للحقل PCode . وهذا كود كل زر تصدير : Private Sub cmd_Export_to_Excel_Click() '- تصدير الى اكسل Dim File_Path As String File_Path = CurrentProject.Path & "\Youssef\" & Me.PCode 'File_Path = CurrentProject.Path & "\" & Me.PCode DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Qry_Lab_Request_for_EXPORT", File_Path, True End Sub Private Sub cmd_Export_to_pdf_Click() '- تصدير الى PDF Dim File_Path As String File_Path = CurrentProject.Path & "\Youssef\" & Me.PCode & ".pdf" 'File_Path = CurrentProject.Path & "\" & Me.PCode & ".pdf" DoCmd.OutputTo acOutputQuery, "Qry_Lab_Request_for_EXPORT", acFormatPDF, File_Path, False, , , acExportQualityPrint End Sub . 1. ولكن الافضل بالنسبة الى التصدير الى الاكسل : ان تقوم بتنظيم اسماء الحقول بالعربية (حاليا هي بالانجليزية ، فجميع اسماء الاعمدة في الاكسل ستكون بالانجليزي) ، وتعيد ترتيب الحقول حسب ما تريده في الاكسل ، وتحذف الحقول الغير مطلوبة. 2. والافضل بالنسبة الى التصدير الى pdf : نفس النقاط اعلاه ، عمل تقرير بالعرض. 1644.TO EXCEL_PDF.accdb.zip
-
كل الشكر استاذي الكريم ارجوك تحملني على اسئلتي قمت بتغيير لون من الالوان الى بلا تعبئه ولكن ظهرت الخلايا الفارغه ايضا بالحساب 112.xlsm
-
طيب ايش هي المشاكل ,, انت الآن طلبك كالآتي :- 1. حساب عدد الخلايا الغير فارغة لكل لون في الأعمدة . صحيح ؟؟ الآن المشاكل التي تقصدها :- 1. عند تغيير لون الخلية لا يتم تحديث القيم في أعداد الخلايا التي كتبنا فيها المعادلات ، صحيح ؟ يعني انت تريد عند التغيير للون أي خلية ، أن يتم التعديل مباشرة في أعداد الألوان في الأعمدة ؟؟؟؟؟؟؟؟؟؟؟؟؟ وهنا المشكلة أخي الكريم .. فتغيير اللون ليست حدث أو قيمة يشعر بها آكسل للأسف وبالتالي لن يتم تحديث التعداد إلا إذا !!!!!! في حدث عند التحديث للورقة ، كالتالي :- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.Calculate End Sub قمنا بإعادة حساب كل الصيغ والمعادلات في الورقة مرة أخرى ، بمجرد أن تقوم بالتحرير داخل اي خلية ، ثم الخروج . خلاف ذلك لا اعتقد ان ذلك ممكن .
-
استاذي الكريم اعتذر عن الاطاله ولكن عند التعديل طهرت المشاكل الجديده وهذه تخر طلب استاذي الكريم وجزاك الله خيرا
-
أخوي الكريم ، أرجو منك كتابة كافة طلباتك ، حتى لا نجر بعضنا من طلب إلى آخر 😅
-
نعم استاذي الكريم الخليه الفارغه لا اريد احتسابها ابضا عند تعيير لون الخليه اوة اضافه خليه جديده للعامود فانه لا يقوم بتعديل نتيجه الالوان وشكرا للمساعده
-
ahmed_dz started following حسونة حسين
-
مشكـــــــــــــور كـــــــــــــــل الشكـــــــــــــر عمـــــــــــــل رائـــــــــــــــــع جـــــــــــــــزاك الله كـــــــــــل خيــــــــــــــــــــر
-
إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
M.Abd Allah replied to Moosak's topic in قسم الأكسيس Access
ابدعت يا دكتور -
بكل الأحوال .. إن كان ما سبق صحيح ، فقط علينا إضافة شرط للجملة الشرطية بحيث تصبح :- If c.Interior.Color = clr.Interior.Color And Trim(c.Value) <> "" Then بداً من :- If c.Interior.Color = clr.Interior.Color Then
-
لم أفهمها بالضبط .. تقصد أنه لو جعلنا مثلاً الخلية B17 باللون الأحمر ولكنها فارغة من غير قيمة ، فإن الوضع الحالي سيحسب عددها مع الخلايا باللون الأحمر . وأنت تريد أن يقوم بالعد إذا كانت الخلية غير فارغة ؟؟؟؟؟ أرجو التوضيح بشكل أكثر
-
mesratmh joined the community
-
السلام عليكم وجزاكم الله خيرا استاذي الكريم ولكن لدي مشكله اذا اضفت خلايا للعامود بدون تسجيل قيمه بداخلها فانه يقوم بحساب الخلايا الفارغه ايضا كيف يمكن ان اجعله لا يحسب الخلايا الفارغه ايضا عند تلوين خليه باللون لا يظهر العدد الا عند الضغط على سطر الاوامر ليقوم بالتنفيذ ولا يقوم بالتنفيذ مباشر
-
Foksh started following حساب عدد الالوان بكل عامود
-
وعليكم السلام ورحمة الله وبركاته ,, طبعاً قبل البدء بطرح الحل ، وجب التنبيه إلى ضرورة أن تكون الأرقام في الخلايا التي بها اللون تطابق نفس اللون للخلايات التي سيكون لها التعداد .. الدالة بسيطة كالتالي ضعها في مديول .. Function CountByColor(rng As Range, clr As Range) As Long Dim c As Range Dim cnt As Long cnt = 0 For Each c In rng If c.Interior.Color = clr.Interior.Color Then cnt = cnt + 1 End If Next c CountByColor = cnt End Function ثم الإستدعاء بالشكل التالي مع حرية تحديد النطاق وخلية اللون :- =CountByColor(B7:B100, A2) الملف بعد التطبيق :- 111.xlsm
-
السلام عليكم لدي جدول اريد حساب عدد الخليات لكل لون بكل عامود وتسجيل العدد جانب اللون من الاعلى ولكم جزيل الشكر 111.xlsm
-
jo_2010 started following تصدير محتويات نموذج فرعى الى اكسيل و pdf
-
-
تعديل كود يعمل على اوفيس 32بت ولا يعمل على اوفيس 64 بت
jo_2010 replied to jo_2010's topic in قسم الأكسيس Access
عندما يحتمع الخبراء لحل مشكلة تظهر الحلول المتعدد شكرا لكم جميعا - Yesterday
-
ابوخليل started following إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
-
إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
ابوخليل replied to Moosak's topic in قسم الأكسيس Access
جزاك الله خيرا .. وكتبها في موازين أعمالك -
Moosak started following إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
-
السلام عليكم ورحمة الله وبركاته .. 🙂 نزولا عند رغبة شيخنا الفاضل @ابوخليل تم إضافة تحسين بسيط على دالة التفقيط المبسطة لتعميم الفائدة .. طبعا الدالة كانت تأخذ 3 أرقام من كسر العملة هكذا ( 143.487 ) وهذا ينطبق على بعض العملات كالريال العماني والبيسة العمانية بينما أن هناك الكثير من العملات تعتمد 2 رقمين لكسر العملة مثال الريال والهللة السعودية والجنيه والقرش المصري هكذا ( 123.45 ) والتعديل الذي تم إجراؤه هو إضافة معامل رابع للدالة للتحكم في هذا الاختلاف واختيار عدد أرقام كسر العملة 2 أو 3 حسب الحاجة .. بدون إطالة إليكم الدالة كاملة .. وكذلك تم إضافة ملف جاهز ليبين طريقة الاستخدام : 🙂 Option Compare Database Option Explicit Function NoToTxt(TheNo As Double, _ MyCur As String, _ MySubCur As String, _ Optional FractionDigits As Integer = 3 _ ) As String '---------------------------------- ' دالة التفقيط المحسنة ' TheNo : المبلغ ' MyCur : العملة الرئيسية ' MySubCur : جزء العملة ' FractionDigits : عدد أرقام جزء العملة 2 أو 3 '---------------------------------- ' : أمثلة على الاستخدام ' NoToTxt(15.436, "ريال عماني", "بيسة") ' NoToTxt(15.43, "ريال", "هللة", 2 ) ' NoToTxt2(15.436, "ريال", "بيسة", 3) '---------------------------------- Dim MyArry1(0 To 9) As String Dim MyArry2(0 To 9) As String Dim MyArry3(0 To 9) As String Dim Myno As String Dim GetNo As String Dim RdNo As Integer Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetTxt As String Dim Mybillion As String Dim MyMillion As String Dim MyThou As String Dim MyHun As String Dim MyFraction As String Dim MyAnd As String Dim i As Integer Dim ReMark As String Dim IntegerPart As Double Dim FractionPart As Long Dim ScaleNo As Double ' عدد خانات الكسر المسموح بها ' الدالة الحالية تقرأ الجزء العشري كمجموعة من 3 أرقام، لذلك الحد الأعلى 3 If FractionDigits < 0 Then FractionDigits = 0 If FractionDigits > 3 Then FractionDigits = 3 If Abs(TheNo) > 999999999999.999 Then Exit Function If TheNo < 0 Then TheNo = TheNo * -1 ReMark = "عليه مبلغ " Else ReMark = "له مبلغ " End If If TheNo = 0 Then NoToTxt = "صفر" Exit Function End If MyAnd = " و" MyArry1(0) = "" MyArry1(1) = "مائة" MyArry1(2) = "مائتان" MyArry1(3) = "ثلاثمائة" MyArry1(4) = "اربعمائة" MyArry1(5) = "خمسمائة" MyArry1(6) = "ستمائة" MyArry1(7) = "سبعمائة" MyArry1(8) = "ثمانمائة" MyArry1(9) = "تسعمائة" MyArry2(0) = "" MyArry2(1) = " عشر" MyArry2(2) = "عشرون" MyArry2(3) = "ثلاثون" MyArry2(4) = "اربعون" MyArry2(5) = "خمسون" MyArry2(6) = "ستون" MyArry2(7) = "سبعون" MyArry2(8) = "ثمانون" MyArry2(9) = "تسعون" MyArry3(0) = "" MyArry3(1) = "احدى" MyArry3(2) = "اثنان" MyArry3(3) = "ثلاثة" MyArry3(4) = "اربعة" MyArry3(5) = "خمسة" MyArry3(6) = "ستة" MyArry3(7) = "سبعة" MyArry3(8) = "ثمانية" MyArry3(9) = "تسعة" '====================== ' تجهيز الرقم حسب عدد الخانات المطلوبة بعد الفاصلة ' مثال: ' FractionDigits = 2 يجعل 15.436 تقرأ كـ 15.44 ' FractionDigits = 3 يجعل 15.436 تقرأ كـ 15.436 TheNo = Round(TheNo, FractionDigits) IntegerPart = Fix(TheNo) If FractionDigits = 0 Then FractionPart = 0 Else ScaleNo = 10 ^ FractionDigits FractionPart = CLng(Round((TheNo - IntegerPart) * ScaleNo, 0)) End If ' معالجة حالة التقريب التي قد ترفع الجزء العشري إلى 100 أو 1000 If FractionDigits > 0 Then If FractionPart >= ScaleNo Then IntegerPart = IntegerPart + 1 FractionPart = 0 End If End If ' الجزء الصحيح 12 رقم + الجزء العشري دائمًا 3 أرقام داخليًا ' عند اختيار خانتين مثلًا 44 يتم تخزينها كـ 044 حتى تُقرأ أربعون وأربعة GetNo = Format(IntegerPart, "000000000000") & "." & Format(FractionPart, "000") i = 0 '=============== Do While i < 16 My100 = "" My10 = "" My1 = "" My11 = "" My12 = "" GetTxt = "" If i < 12 Then Myno = Mid$(GetNo, i + 1, 3) Else Myno = Mid$(GetNo, i + 2, 3) End If If Val(Mid$(Myno, 1, 3)) > 0 Then RdNo = Val(Mid$(Myno, 1, 1)) My100 = MyArry1(RdNo) RdNo = Val(Mid$(Myno, 3, 1)) My1 = MyArry3(RdNo) RdNo = Val(Mid$(Myno, 2, 1)) My10 = MyArry2(RdNo) If Val(Mid$(Myno, 2, 2)) = 11 Then My11 = "احدى عشر" If Val(Mid$(Myno, 2, 2)) = 12 Then My12 = "اثني عشر" If Val(Mid$(Myno, 2, 2)) = 10 Then My10 = "عشرة" If Val(Mid$(Myno, 1, 1)) > 0 And Val(Mid$(Myno, 2, 2)) > 0 Then My100 = My100 & MyAnd End If If Val(Mid$(Myno, 3, 1)) > 0 And Val(Mid$(Myno, 2, 1)) > 1 Then My1 = My1 & MyAnd End If GetTxt = My100 & My1 & My10 If Val(Mid$(Myno, 3, 1)) = 1 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My11 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My11 End If If Val(Mid$(Myno, 3, 1)) = 2 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My12 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My12 End If If i = 0 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then Mybillion = GetTxt & " مليار" Else Mybillion = GetTxt & " مليارات" If Val(Mid$(Myno, 1, 3)) = 1 Then Mybillion = " مليار" If Val(Mid$(Myno, 1, 3)) = 2 Then Mybillion = " ملياران" End If End If If i = 3 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyMillion = GetTxt & " مليون" Else MyMillion = GetTxt & " ملايين" If Val(Mid$(Myno, 1, 3)) = 1 Then MyMillion = " مليون" If Val(Mid$(Myno, 1, 3)) = 2 Then MyMillion = " مليونان" End If End If If i = 6 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyThou = GetTxt & " الف" Else MyThou = GetTxt & " الاف" If Val(Mid$(Myno, 1, 3)) = 1 Then MyThou = " الف" If Val(Mid$(Myno, 1, 3)) = 2 Then MyThou = " الفان" End If End If If i = 9 And GetTxt <> "" Then MyHun = GetTxt If i = 12 And GetTxt <> "" Then If FractionDigits > 0 Then MyFraction = GetTxt End If End If End If i = i + 3 Loop '============================ If Mybillion <> "" Then If MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then Mybillion = Mybillion & MyAnd End If End If If MyMillion <> "" Then If MyThou <> "" Or MyHun <> "" Then MyMillion = MyMillion & MyAnd End If End If If MyThou <> "" Then If MyHun <> "" Then MyThou = MyThou & MyAnd End If End If If MyFraction <> "" Then If Mybillion <> "" Or MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & MyAnd & MyFraction & " " & MySubCur & " فقط" Else NoToTxt = ReMark & MyFraction & " " & MySubCur & " فقط" End If Else NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & " فقط" End If End Function NoToTxt.accdb