بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 07/09/25 in مشاركات
-
3 points
-
وعليكم السلام ورحمة الله وبركاته ,, فيما يخص الإيميل ، فهذه فكرة بسيطة من خلال النقر على مربع نص الإيميل على سبيل المثال :- 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 Function3 points
-
سلوك قاعدة بيانات الأكسس كل سجل يضاف سيأخذ مساحة من التخزين وهذا طبيعي ولكن غير الطبيعي أن المساحة ستبقى ولو حذفت السجل. وحل هذه المشكلة ستكون باستخدام "الضغط والإصلاح". ولكن هذه المشكلة لن تحدث مع قاعدة بيانات SQL فسلوكها مختلف بحيث تتخلص من مسحات السجلات المحذوفة أولا بأول أو تعيد استخدامها بدون عمليات الضغط. معلومات قديمة جدا وربما استجدت أمور أنا بعيد عنها.2 points
-
اخي الفاضل @ابوخليل حقول التاريخ أساساً هي حقول رقمية يكون الجزء الصحيح منها هو التاريخ (اليوم يساوي 1 صحيح) والكسور تمثل الوقت (الثانية تساوي 1 من 10000 تقريبا) مثلما ذكر الأخ @شايب هذا صحيح ليس للأسباب المذكورة فقط وإنما لأنك ننفذ دوال VBA مع محرك البيانات ولغة SQL وهذا ايضاً صحيح ولكن النتائج عادة ستقتصر على السجلات التي يوجد مايقابلها في الجدول الأخر الحل الأفضل من وجهة نظري هو إستخدام الإستعلامات الفرعية وهي سهلة جداَ أرفق لكم مثال الأخ ابو خليل وقد قمت بعمل حل له بإستخدام استعلام فرعي وقمت بإضافة بعض الأشياء لتوضيح سبب المشكلة وكذا لمعرفة القيمة الرقمية لأي للتاريخ والوقت مع تحياتي d8.rar2 points
-
2 points
-
السلام عليكم أخي @منتصر الانسي بعد التجربة شغال بامتياز ويؤدي المطلوب على أكمل وجه وبدون مشاكل فكرة ممتازة جزاك الله كل خير وجعلها في ميزان حساناتك. كما أتوجه كذلك بخالص الشكر والامتنان لأخي @Foksh2 points
-
اعرض الملف إمنح تطبيقك المظهر الإحترافي بإستخدام مربع حوار المهام بديل لـ MsgBox {سلسلة الأدوات المساعدة المخصصة} أرفق لك إحدى الأدوات الرائعة التي يمكن أن تغنيك عن الكثير من النماذج وتجعل رسائل التنبيه تشبه رسائل ويندوز حاولت قد الإمكان تبسيط طريقة الإستخدام وتوضيحها في التعليقات أرجو أن تنال إعجابكم مع تحياتي صاحب الملف منتصر الانسي تمت الاضافه 07/05/25 الاقسام قسم الأكسيس1 point
-
انا يعمل عندي على اكمل وجهه اتوقع المشكلة عندك في الحقل المحسوب mouadel_3am تم اجراء لمسة عليه .. جرب الآن baseC4.rar1 point
-
ولا يهمك ،، استكمالاً للسابق سأقوم بالتعديل، وإرقاق النتيجة بعد التجربة على أرض الواقع إن شاء الله 😇1 point
-
1 point
-
شكرا اخوي منتصر .. تم الاستبدال .. لتصبح اللغة واحدة انا اعرف ان دوال المجال لا يصلح توظيفها في الاستعلامات وكنت احذر منها ... الكثير الذين يشتكون من بطء الاستعلامات عند زيادة حجم البيانات والسبب هذه الدوال ولكن الاستعلام الذي استخدمه خاص بشخص واحد لا تتجاوز سجلاته 30 سجلا ابدا1 point
-
بالنسبة لي شخصيا بدأت أنهج هذا الأسلوب ( تحويل حقول التاريخ إلى أرقام في دوال المجال) .. تعطيك دقة في النتائج وتكفيك شر تنسيقات التواريخ .. 🙂 ملاحظة مهمة جدا إذا أردت تطبيق هذا المنهج : لو أردت تحويل حقل تاريخ إلى رقم يمكنك استخدام الدالة cLng هكذا -----> clng(dateField) ولكن لو أردت تحويل حقل تاريخ مع وقت استخدام الدالة cDbl هكذا -----> cDbl(dateField) وذلك لأن الوقت يتم تخزينه بعد الفاصلة عندما يتم تحويل التاريخ إلى رقم بهذه الصورة >>1 point
-
انا عملتها وفقا للمثال في النموذج وبالنسبة لي لا افضل استخدام اي من دوال المجال في الاستعلام لانها تجعل الاستعلام بطيء التنفيذ اذا كان عدد السجلات كبير ويمكن الاستغناء عنها باستخدام صلة بين الجدولين في الاستعلام هذا حسب فهمي للامر اما بالنسبة لاستخدامها في الاستعلام فان الطريقة الاسهل من تحويل الامر الى دالة عن طريق جمع الحقلين مع بعضهما والمعيارين ايضا مع بعض ليكون الامر Dim i i = DLookup("[date2]", "[tbl2]", "[date2]& [user_id]=#" & Me.text1 & "# &'" & Me.text2 & "'") MsgBox i او استخدام تعديل الاستاذ ابو احمد فهو الافضل الشايب1 point
-
1 point
-
1 point
-
ههههه جبتها بالصميم أسأل الله حسن الخاتمة .. لكن سؤالي هي ان الحقول تاريخ .. وانت حولتها الى رقم .. مالسبب من امتناع جلبها كتاريخ .. مع اني كنت دوما استخدم ذاك التعبير ويعمل بشكل صحيح DLookup("[date2]", "[tbl2]", "[date2] =#" & Me.text1 & "# And [user_id] ='" & Me.text2 & "'") والحقول فعلا تاريخ وتنسيق الحقول واحد متشابه والآن اكتشفت صحة ملاحظتك بعدم التركيز .. فأزيدك من الشعر بيت .. ان اليوزر في الجدولين مختلف اهلا باخوي الشايب هذه اين يكون مكانها في الاستعلام .. اعتقد يمكن عندما نحول هذه الاسطر الى دالة آمل كرما تشغيل الاستعلام بهذه وارفاقه ..1 point
-
ماشاء الله يا ابا احمد فكرتي دائما عندما يكون هناك اكثر من معيار يكون سطر لكل معيار اسهل في المراجعة 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
-
1 point
-
جزاك الله خيرا وبارك فيك ابا احمد سوف اعمل عليه .. واطوع الاستعلامات لاستخراج ما اريد1 point
-
يوجد حل غير مباشر ستجده في المرفق مع تحياتي تكبير حجم الخط.rar1 point
-
أتفق مع الأستاذ فادي فلا توجد أي طريقة إلا بتمييز إسم الملف بقيمة فريدة لا تتكرر ومن خلال المثال الخاص بك فهذه القيمة هي قيمة الحقل ID عموما قمت بالتعديل على الكود الخاص بمثالك ووضحت ما قمت بتعديله من خلال التعليقات أرجو أن يكون الحل مناسبا لك مع تحياتي baseA.rar1 point