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

عبدالله بشير عبدالله

الخبراء
  • Posts

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

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

  • Days Won

    29

كل منشورات العضو عبدالله بشير عبدالله

  1. قدمت له سؤالك كما هو فاجابنى يمكنك إنشاء استعلام في Microsoft Access يحتوي على عمود محسوب يستخدم دالة لتعديل الأسماء مباشرة في الاستعلام. إليك كيفية القيام بذلك: افتح قاعدة البيانات الخاصة بك في Access. انتقل إلى علامة التبويب “إنشاء” واختر “تصميم استعلام”. أضف الجدول الذي يحتوي على الأسماء التي تريد تعديلها. في عمود جديد في شبكة تصميم الاستعلام، أدخل التعبير التالي: NewName: IIf(Left([YourFieldName], 4) = "عبد ", "عبد" & Mid([YourFieldName], 5), [YourFieldName]) تأكد من استبدال YourFieldName باسم الحقل الفعلي الذي يحتوي على الأسماء. هذا التعبير يقوم بإنشاء عمود جديد يسمى “NewName” في الاستعلام، حيث يتم إزالة المسافة بين “عبد” وبقية الاسم إذا كانت موجودة. يمكنك الآن استخدام هذا العمود الجديد للتصفية والبحث في الاستعلام. انتهت الاجابة
  2. معلمنا ابو خليل / من خلال تجربتى للموقع على حسب السؤال تكون الاجابة لذلك قبل السؤال يجب تحديد المطلوب بدقة ويمكن مناقشته في جزء في الكود واطلب اي تعديل فيه وللعلم ليس لدي الخلفية الجيدة لفهم الاكواد ووضعت سؤالك التالي حرفيا ولكن التغيير في الجدول احيانا غير مرغوب .. فمثلا اسمي إبراهيم فأنا لا اريد ان يظهر اسمي في التقرير ابراهيم بدون همز جميل لو كانت هذه الدالة في عمود خاص في الاستعلام من اجل التصفية والبحث فاجابنى فهمت، يمكنك استخدام الدالة في استعلام Access بحيث يتم إنشاء عمود جديد يحتوي على النصوص المعدلة دون التأثير على البيانات الأصلية في الجدول. إليك كيفية القيام بذلك: افتح قاعدة البيانات في Access. أنشئ استعلامًا جديدًا. في تصميم الاستعلام، أضف الجدول الذي يحتوي على الأسماء. في عمود جديد في شبكة التصميم، أدخل التعبير التالي AdjustedName: AdjustHamzat([اسم_العمود]) حيث “اسم_العمود” هو اسم العمود الذي يحتوي على الأسماء الأصلية. إليك الكود الكامل للدالة التي يمكنك استخدامها في وحدة نمطية (Module) في Access Function AdjustHamzat(inputText As String) As String Dim result As String result = Replace(inputText, "أ", "ا") result = Replace(result, "آ", "ا") result = Replace(result, "إ", "ا") result = Replace(result, "ة", "ه") result = Replace(result, "ى", "ي") AdjustHamzat = result End Function بهذه الطريقة، يمكنك استخدام العمود الجديد “AdjustedName” في التصفية والبحث دون التأثير على الأسماء الأصلية في الجدول. إذا كنت بحاجة إلى أي مساعدة إضافية، لا تتردد في السؤال! انتهى كلام الذكاء واذا كانت الاجابة غير مرضيه اخبره بذلك وسيعطيك حلولا اخرى
  3. اما طلبك الاخير فاجابنى يمكنك استخدام الكود التالي في Microsoft Access لفرز الأسماء أبجديًا بحيث يبدأ بالذكور أولاً، ثم الإناث. سنفترض أن لديك حقلًا يسمى “الجنس” يحتوي على “ذكر” أو “أنثى”، وحقلًا آخر يسمى “الاسم” يحتوي على الأسماء Sub SortNamesByGender() Dim db As DAO.Database Dim rs As DAO.Recordset Dim sql As String Set db = CurrentDb ' SQL query to sort names by gender first, then alphabetically sql = "SELECT * FROM [اسم_الجدول] ORDER BY [الجنس] DESC, [الاسم] ASC" Set rs = db.OpenRecordset(sql) ' Loop through the sorted recordset and print names (or perform any other action) Do While Not rs.EOF Debug.Print rs!الاسم rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing End Sub تأكد من استبدال [اسم_الجدول] بأسم الجدول الفعلي في قاعدة البيانات الخاصة بك. هذا الكود يقوم بفرز الأسماء بحيث يبدأ بالذكور أولاً (لأننا نستخدم DESC في ترتيب الجنس)، ثم يرتب الأسماء أبجديًا اسم الموقع وهو مجاني ويحتاج تسجيل الاشتراك فيه https://copilot.microsoft.com/ وعذرا ان كنت تجاوزت القوانين المعمول بها في المنتدى
  4. اما طلبك الثاني فاجابنى يمكنك استخدام الكود التالي في Microsoft Access لضبط الأسماء التي تبدأ بكلمة “عبد” وتحويلها إلى الشكل الصحيح بدون مسافة، مثل “عبدالرحمن”: Sub AdjustNames() Dim db As DAO.Database Dim rs As DAO.Recordset Dim name As String Set db = CurrentDb Set rs = db.OpenRecordset("SELECT [اسم_الحقل] FROM [اسم_الجدول]") Do While Not rs.EOF name = rs!اسم_الحقل ' Check if the name starts with "عبد " (with a space) If Left(name, 4) = "عبد " Then ' Remove the space after "عبد" rs.Edit rs!اسم_الحقل = Replace(name, "عبد ", "عبد") rs.Update End If rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing End Sub تأكد من استبدال [اسم_الحقل] و [اسم_الجدول] بأسماء الحقل والجدول الفعلية في قاعدة البيانات الخاصة بك. هذا الكود يقوم بالبحث في الحقل المحدد في الجدول، وإذا وجد اسمًا يبدأ بـ "عبد " (مع مسافة)، يقوم بإزالة المسافة
  5. السلام عليكم / طرحت سؤالك على موقع برنامج الذكاء الاصطناعي واتمنى من الخبراء ابداء رأيهم في الكود علما بأن صيغة السؤال كانت كالتالي :-محتاج كوداكسس لضبط الهمزات بمعني ( أ - آ - إ - ة - ى ) تحول إلي ( ا-ا-ا-ه - ي ) فاجابنى : يمكنك استخدام الكود التالي في VBA لضبط الهمزات في النصوص داخل قاعدة بيانات Access. هذا الكود يقوم بتحويل الأحرف (أ - آ - إ - ة - ى) إلى (ا - ا - ا - ه - ي): Function AdjustHamzat(inputText As String) As String Dim adjustedText As String adjustedText = inputText adjustedText = Replace(adjustedText, "أ", "ا") adjustedText = Replace(adjustedText, "آ", "ا") adjustedText = Replace(adjustedText, "إ", "ا") adjustedText = Replace(adjustedText, "ة", "ه") adjustedText = Replace(adjustedText, "ى", "ي") AdjustHamzat = adjustedText End Function Sub UpdateHamzatInTable() Dim db As DAO.Database Dim rs As DAO.Recordset Dim fieldName As String Dim tableName As String ' اسم الجدول واسم الحقل المراد تحديثه tableName = "YourTableName" fieldName = "YourFieldName" Set db = CurrentDb Set rs = db.OpenRecordset("SELECT * FROM " & tableName) If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF rs.Edit rs(fieldName).Value = AdjustHamzat(rs(fieldName).Value) rs.Update rs.MoveNext Loop End If rs.Close Set rs = Nothing Set db = Nothing End Sub هذا الكود يحتوي على دالة AdjustHamzat التي تقوم بتحويل الأحرف المطلوبة، ودالة UpdateHamzatInTable التي تقوم بتحديث الحقل المحدد في الجدول. تأكد من تعديل YourTableName وYourFieldName بأسماء الجدول والحقل المناسبين في قاعدة البيانات الخاصة بك. انتهت اجابة الموقع نتمنى ان تجربه وتخبرنا بالنتيجة كذلك يجب تفعيل مكتبةDAO
  6. اظافة ما تفضل به معلمنا محمد صالح ومعلمنا محمد هشام يمكن استخدام المعادلة التالية فى حالة وضعها في عمود اخر =CONCATENATE("'"; A2) Copy of OverTime Transaction Upload Template.xlsx
  7. اتمنى ان يكون طلبك في هذا الملف يتم تكوين مجلدين احدهما باسم باسم تقرير اكسل والاخر تقرير PDF في نفس مجلد الملف الرئيسي الكودين لاستاذنا المبدع محمد هشام اكسل وPDF.xlsb
  8. وعليكم السلام ورحمة الله وبركاته عذرا اخي الفاضل كثرة الطلبات تجعل الكثير لا يكترث بالموضوع لأنه يحتاج الى وقت وجهد فكري فأنصحك ان يكون في موضوعك طلب واحد محدد اذا تم الاجابة علية افتح موضوع جديد واكتب فيه طلبك الثاني وهكذا الطلب الاول تم تنفيذه لك وافر الاحترام acheivements final.xlsb
  9. اخي العزيز اذا كنت تقصد ان البيانات الناتجة عن الفلترة اذا كانت اكثر من صفحة واحدة وتريد طباعتها في صفحة واحدة ربما هذا الملف قيه الحل 'طباعة حسب البيانات1.xlsm
  10. وعليكم السلام ورحمة الله وبركاته اختصار للوقت ولسرعة الاستجابة لطلبك ارفق الملف للتعرف على المشكلة
  11. وعليكم السلام ورحمة الله وبركاته 'طباعة حسب البيانات.xlsm
  12. وعليكم السلام ورحمة الله وبركاته ضف هذا السطر قبل الخطأ مباشرة On Error Resume Next st = Mid(Trim(.Cells(i, 2)), 1, 1)
  13. وعليكم السلام ورحمة الله وبركاته جسب فهمى لطلبك / قم باختيار الصف م خلية Z2 في صفحة البيانات ثم قم بالضغظ على زر ترحيل . سيتم الترحيل الى صفحتي المستجدين وسجل 31, امر الطباعة ديناميكي بمعني حسب البيانات يحتويها ويطبعها فليس هناك داع لزر الاختيار الامر الثالت غير واضح تماما بالنسبة لي والذي فهمته انك تريد الترحيل حسب التقدم فمثلا تريد ترحيل الدور الاول هل الترحيل لفصل معين ام لكل الفصول. اتمنى ان تجد ما يفيدك وان كان غير ذلك فعذرا . ترحيل.zip
  14. اخي ابو بهاء المصري / شكرا لخلقك وتفهمك لك منى كل التقدير والاحترام بالسبة للرسالة اثتاء الحفظ ليس له علاقة بالكود ولكن من خصائص اعدادات الاكسل وقد تم معالجتها قوائم لجان الدور الثاني اولي.xlsb
  15. السلام عليكم السيد الفاضل ابو بهاء المصري نأمل منكم تعديل اختياركم افضل اجابة للسيد lionheart فهو من يستحقها وهو صاجب الكود . وعندما كان ردكم على اجابته فاجابكم استاذنا الفاضل انتظر شخص ما لإرفاق الملف من أجلك ما عليك سوى اتباع الخطوات وستتمكن من تشغيلها بشكل صحيح وما قمت به انا وضع الكود بالملف واتباع الحطوات ولم اغير في الكود نقطة واحدة فالحل قام به استاذنا lionheart وهو صاحب الفضل ففضلا لا امر تغيير اختياركم لافضل اجابة الى صاحب الفضل . تحياتي
  16. تم ربط زر التبديل ب Get_Data_By_Subject قوائم لجان الدور الثاني - Copy.xlsb
  17. السلام عليكم lionheart اعتقد ان صاحب الملف كما قال انه لم يعطى له نتائج بسبب عدم اضافة الكود Get_Data_By_Subject الى زر او الى صفحةLagna فيكون كالاتي Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$L$3" Then Application.ScreenUpdating = False Range("B9:I28").ClearContents Application.ScreenUpdating = True End If Get_Data_By_Subject End Sub وهذا ملف كامل به كود استاذنا lionheart وقمت بالتجربة فتم استدعاء الطلبة حسب المادة حقيقة سرعة ابداع اتقان زادك الله رفعة وعلما استاذنا الفاضل الملف قوائم لجان الدور الثاني - Copy.xlsb
  18. من افضل الدروس لربط الاكسل VB6 وفيه علم عزير وبه امثلة متضمنة اكواد الربط للاستاذ ياسر العربي في ميزان اعماله وحسناته https://www.officena.net/ib/topic/65629-سلسلة-دروس-الفيجوال-بيسك-6-والاكسيل-من-علي-مصطبة-ياسر-العربي/
  19. ارفق الملف لنرى ما السبب رعاك الله
  20. وعليكم السلام حسب فهمي لطلبك اكتب في الزر الجديد CALL CommandButton1_Click CALL CommandButton2_Click
  21. وعليكم السلام ورحمة الله وبركاته قم بالاختيار من الخانتين الحمراء او احداهما تم اضغط زر تصفية لا تنسى تمكين المحتوى اذا طلبه الاوفيس منك اتمنى انى قدمت لك ما يفيد طلاب.xlsm
  22. السلام عليكم جرب الملف كلمة السر 123 الزمن 50 ثانية يمكن تعديلها من الكود توقيت.xlsm
  23. وعليكم السلام ورحمة الله وبركاته طلبك غير واضح بالنسبة لي هل تريد اخفاء الليبل فقط ام يتم معه اخفاء التكست بوكس ايضا علي كل حال اليك ملف اخفاء الليبل فقط اخفاء الليبل.xlsm وهذا اخفاء الليبل مع التكست بوكس الاثنين اخفاء الليبلوالتكست.xlsm واختر ما يخقق طلبك تحياتي
  24. السلام عليكم لماذا لا يكون زر واحد يضع الدوائر على نصف العام واخر العام نفس الوقت كما الملف المرفق سعد22.xlsm
×
×
  • اضف...

Important Information