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

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

  1. منتصر الانسي

    منتصر الانسي

    المشرفين السابقين


    • نقاط

      6

    • Posts

      1053


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      5

    • Posts

      13160


  3. AbuuAhmed

    AbuuAhmed

    الخبراء


    • نقاط

      5

    • Posts

      1095


  4. Foksh

    Foksh

    أوفيسنا


    • نقاط

      4

    • Posts

      3857


Popular Content

Showing content with the highest reputation on 07/09/25 in مشاركات

  1. وعليكم السلام ورحمة الله وبركاته ,, فيما يخص الإيميل ، فهذه فكرة بسيطة من خلال النقر على مربع نص الإيميل على سبيل المثال :- Private Sub EMAIL_Click() Dim EmailAdd As String Dim GmailURL As String EmailAdd = Me.EMAIL.Value If Not IsValidEmails(EmailAdd) Then MsgBox "عنوان البريد الإلكتروني غير صالح", vbExclamation + vbMsgBoxRight, "" Exit Sub End If GmailURL = "https://mail.google.com/mail/?view=cm&fs=1&to=" & EmailAdd Application.FollowHyperlink GmailURL End Sub Function IsValidEmails(EMAIL As String) As Boolean Dim regex As Object Set regex = CreateObject("VBScript.RegExp") regex.Pattern = "^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$" regex.IgnoreCase = True IsValidEmails = regex.Test(EMAIL) End Function والطلب الثاني ، وهو فتح واتس أب ويب على دردشة محددة للرقم الذي تم النقر عليه ، حذح محاولتي البسيطة ( مشتقة من أحد ملفاتي سابقاً ) .. Private Sub MOB_Click() Dim WhatsURL As String Dim PhoneNum As String PhoneNum = Me.MOB.Value PhoneNum = CleanPhoneNum(PhoneNum) If PhoneNum = "" Then MsgBox "رقم الهاتف غير صالح", vbExclamation + vbMsgBoxRight, "" Exit Sub End If WhatsURL = "https://wa.me/" & PhoneNum Application.FollowHyperlink WhatsURL End Sub Function CleanPhoneNum(phone As String) As String Dim i As Integer Dim result As String result = "" For i = 1 To Len(phone) If IsNumeric(Mid(phone, i, 1)) Then result = result & Mid(phone, i, 1) End If Next i If Left(result, 2) = "00" Then result = Right(result, Len(result) - 2) ElseIf Left(phone, 1) = "+" Then result = Right(result, Len(result) - 1) End If CleanPhoneNum = result End Function
    3 points
  2. سلوك قاعدة بيانات الأكسس كل سجل يضاف سيأخذ مساحة من التخزين وهذا طبيعي ولكن غير الطبيعي أن المساحة ستبقى ولو حذفت السجل. وحل هذه المشكلة ستكون باستخدام "الضغط والإصلاح". ولكن هذه المشكلة لن تحدث مع قاعدة بيانات SQL فسلوكها مختلف بحيث تتخلص من مسحات السجلات المحذوفة أولا بأول أو تعيد استخدامها بدون عمليات الضغط. معلومات قديمة جدا وربما استجدت أمور أنا بعيد عنها.
    2 points
  3. اخي الفاضل @ابوخليل حقول التاريخ أساساً هي حقول رقمية يكون الجزء الصحيح منها هو التاريخ (اليوم يساوي 1 صحيح) والكسور تمثل الوقت (الثانية تساوي 1 من 10000 تقريبا) مثلما ذكر الأخ @شايب هذا صحيح ليس للأسباب المذكورة فقط وإنما لأنك ننفذ دوال VBA مع محرك البيانات ولغة SQL وهذا ايضاً صحيح ولكن النتائج عادة ستقتصر على السجلات التي يوجد مايقابلها في الجدول الأخر الحل الأفضل من وجهة نظري هو إستخدام الإستعلامات الفرعية وهي سهلة جداَ أرفق لكم مثال الأخ ابو خليل وقد قمت بعمل حل له بإستخدام استعلام فرعي وقمت بإضافة بعض الأشياء لتوضيح سبب المشكلة وكذا لمعرفة القيمة الرقمية لأي للتاريخ والوقت مع تحياتي d8.rar
    2 points
  4. تفضل .................... مثال.accdb
    2 points
  5. السلام عليكم أخي @منتصر الانسي بعد التجربة شغال بامتياز ويؤدي المطلوب على أكمل وجه وبدون مشاكل فكرة ممتازة جزاك الله كل خير وجعلها في ميزان حساناتك. كما أتوجه كذلك بخالص الشكر والامتنان لأخي @Foksh
    2 points
  6. اعرض الملف إمنح تطبيقك المظهر الإحترافي بإستخدام مربع حوار المهام بديل لـ MsgBox {سلسلة الأدوات المساعدة المخصصة} أرفق لك إحدى الأدوات الرائعة التي يمكن أن تغنيك عن الكثير من النماذج وتجعل رسائل التنبيه تشبه رسائل ويندوز حاولت قد الإمكان تبسيط طريقة الإستخدام وتوضيحها في التعليقات أرجو أن تنال إعجابكم مع تحياتي صاحب الملف منتصر الانسي تمت الاضافه 07/05/25 الاقسام قسم الأكسيس  
    1 point
  7. انا يعمل عندي على اكمل وجهه اتوقع المشكلة عندك في الحقل المحسوب mouadel_3am تم اجراء لمسة عليه .. جرب الآن baseC4.rar
    1 point
  8. ولا يهمك ،، استكمالاً للسابق سأقوم بالتعديل، وإرقاق النتيجة بعد التجربة على أرض الواقع إن شاء الله 😇
    1 point
  9. لان هذا الي انا فهمته وقد اشرن الى ذلك الشايب
    1 point
  10. شكرا اخوي منتصر .. تم الاستبدال .. لتصبح اللغة واحدة انا اعرف ان دوال المجال لا يصلح توظيفها في الاستعلامات وكنت احذر منها ... الكثير الذين يشتكون من بطء الاستعلامات عند زيادة حجم البيانات والسبب هذه الدوال ولكن الاستعلام الذي استخدمه خاص بشخص واحد لا تتجاوز سجلاته 30 سجلا ابدا
    1 point
  11. بالنسبة لي شخصيا بدأت أنهج هذا الأسلوب ( تحويل حقول التاريخ إلى أرقام في دوال المجال) .. تعطيك دقة في النتائج وتكفيك شر تنسيقات التواريخ .. 🙂 ملاحظة مهمة جدا إذا أردت تطبيق هذا المنهج : لو أردت تحويل حقل تاريخ إلى رقم يمكنك استخدام الدالة cLng هكذا -----> clng(dateField) ولكن لو أردت تحويل حقل تاريخ مع وقت استخدام الدالة cDbl هكذا -----> cDbl(dateField) وذلك لأن الوقت يتم تخزينه بعد الفاصلة عندما يتم تحويل التاريخ إلى رقم بهذه الصورة >>
    1 point
  12. انا عملتها وفقا للمثال في النموذج وبالنسبة لي لا افضل استخدام اي من دوال المجال في الاستعلام لانها تجعل الاستعلام بطيء التنفيذ اذا كان عدد السجلات كبير ويمكن الاستغناء عنها باستخدام صلة بين الجدولين في الاستعلام هذا حسب فهمي للامر اما بالنسبة لاستخدامها في الاستعلام فان الطريقة الاسهل من تحويل الامر الى دالة عن طريق جمع الحقلين مع بعضهما والمعيارين ايضا مع بعض ليكون الامر Dim i i = DLookup("[date2]", "[tbl2]", "[date2]& [user_id]=#" & Me.text1 & "# &'" & Me.text2 & "'") MsgBox i او استخدام تعديل الاستاذ ابو احمد فهو الافضل الشايب
    1 point
  13. هل هذا التصور المطلوب ....................... على كل حال جرب الموفق .................... مثال.accdb
    1 point
  14. طالما والدمج المطلوب سيكون في اكسل يفضل نشر طلبك في منتدى اكسل
    1 point
  15. ههههه جبتها بالصميم أسأل الله حسن الخاتمة .. لكن سؤالي هي ان الحقول تاريخ .. وانت حولتها الى رقم .. مالسبب من امتناع جلبها كتاريخ .. مع اني كنت دوما استخدم ذاك التعبير ويعمل بشكل صحيح DLookup("[date2]", "[tbl2]", "[date2] =#" & Me.text1 & "# And [user_id] ='" & Me.text2 & "'") والحقول فعلا تاريخ وتنسيق الحقول واحد متشابه والآن اكتشفت صحة ملاحظتك بعدم التركيز .. فأزيدك من الشعر بيت .. ان اليوزر في الجدولين مختلف اهلا باخوي الشايب هذه اين يكون مكانها في الاستعلام .. اعتقد يمكن عندما نحول هذه الاسطر الى دالة آمل كرما تشغيل الاستعلام بهذه وارفاقه ..
    1 point
  16. ماشاء الله يا ابا احمد فكرتي دائما عندما يكون هناك اكثر من معيار يكون سطر لكل معيار اسهل في المراجعة Dim i As Variant Dim strWhere As String strWhere = "[date2] = " & Format(Me.text1, "\#mm/dd/yyyy\#") strWhere = strWhere & " and [usr_id]='" & [text2] & "'" i = DLookup("[date2]", "[tbl2]", strWhere) MsgBox i الشايب
    1 point
  17. اعتقد يريد شبيه هذا تطبيق على مثال من عمل اخونا @jjafferr مثال2.rar
    1 point
  18. جزاك الله خيرا وبارك فيك ابا احمد سوف اعمل عليه .. واطوع الاستعلامات لاستخراج ما اريد
    1 point
  19. يوجد حل غير مباشر ستجده في المرفق مع تحياتي تكبير حجم الخط.rar
    1 point
  20. أتفق مع الأستاذ فادي فلا توجد أي طريقة إلا بتمييز إسم الملف بقيمة فريدة لا تتكرر ومن خلال المثال الخاص بك فهذه القيمة هي قيمة الحقل ID عموما قمت بالتعديل على الكود الخاص بمثالك ووضحت ما قمت بتعديله من خلال التعليقات أرجو أن يكون الحل مناسبا لك مع تحياتي baseA.rar
    1 point
×
×
  • اضف...

Important Information