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

Moosak

أوفيسنا
  • Posts

    2,034
  • تاريخ الانضمام

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

  • Days Won

    51

كل منشورات العضو Moosak

  1. أخي @سامر محمود أنت تسأل عن طريقة عمل استعلام وليس معيار 🙂
  2. أخي @علاء طه حسب قوانين المنتدى .. افتح موضوع جديد لسؤالك .. ويمكنك الإشارة لهذا الموضوع إن لزم الأمر 🙂
  3. حسب ما يتضح أن مشاركة الأستاذ @حمدى الظابط كانت مجرد لفت نظر حسب ما أوضح ولم تكن طلبا جديدا .. 🙂 لذلك إن لزم التوسع فيه .. فيرجى التكرم بفتح موضوع جديد.. أما الآن فدعونا نستمتع بإبداعاتكم في موضوع تقسيم السجلات إلى أن يحصل الأخ @وائل طه على مبتغاه .. أو تنفد الأفكار دونه .. 🙂🌷
  4. خلي الكود يفتحلك مستعرض الملفات وتختار منه الملف بدل ما هو مكتوب في الكود أخوي طلال 🙂
  5. وعليكم السلام ورحمة الله وبركاته 🙂 استغن عن الأكسبلورر بهذا الكود ( ضعه في وحدة نمطية ) واستخمه كالتالي : Option Compare Database Option Explicit Enum AttacmentsType Image = 1 Sticker = 2 Document = 3 End Enum #If VBA7 Or Win64 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Declare PtrSafe Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As LongPtr) As LongPtr Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer #Else Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As Long) As Long Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer #End If Private Const VK_NUMLOCK = &H90 Public Sub SendToWhatsApp(txtPhone As String, txtMSG As String, Optional txtAttchmentPath As String = "", Optional AttachmentType As AttacmentsType = Image) '---------------------------------------(التحقق من اكتمال البيانات) If Len(txtMSG & "") = 0 Then MsgBox "يرجى كتابة الرسالة": Exit Sub If txtAttchmentPath <> "" Then If Len(Dir(txtAttchmentPath, vbDirectory)) = 0 Then MsgBox "المرفق غير موجود .. تأكد من الرابط": Exit Sub End If txtMSG = Replace(txtMSG, vbCrLf, " %0a ") txtMSG = Replace(txtMSG, Chr(10), " %0a ") txtMSG = Replace(txtMSG, Chr(13), " %0a ") '---------------------------------------(بداية الإرسال) Dim Path As String Path = "whatsapp://send?phone=" & txtPhone & "&text=" & txtMSG CreateObject("Shell.Application").Namespace(0).ParseName(Path).InvokeVerb "Open" ' إرسال الرسالة Sleep 2000 SendKeys "~" Sleep 500 SendKeys "~" ' إرسال المرفق إن وجد If txtAttchmentPath <> "" Then SendKeys "+{TAB}" SendKeys "~" Sleep 1000 Select Case AttachmentType Case Is = 1 ' صورة SendKeys "{UP}" ' لإرسال الصور ' SendKeys "{UP}" ' لإرسال الملصقات ' SendKeys "{UP}" ' لفتح الكاميرة ' SendKeys "{UP}" ' لإرسال مستند ' SendKeys "{UP}" ' لإرسال جهة إتصال Case Is = 2 ' ملصق SendKeys "{UP}" ' لإرسال الصور SendKeys "{UP}" ' لإرسال الملصقات ' SendKeys "{UP}" ' لفتح الكاميرة ' SendKeys "{UP}" ' لإرسال مستند ' SendKeys "{UP}" ' لإرسال جهة إتصال Case Is = 3 ' مستند SendKeys "{UP}" ' لإرسال الصور SendKeys "{UP}" ' لإرسال الملصقات SendKeys "{UP}" ' لفتح الكاميرة SendKeys "{UP}" ' لإرسال مستند ' SendKeys "{UP}" ' لإرسال جهة إتصال End Select SendKeys "~" Sleep 1000 SendKeys txtAttchmentPath, True SendKeys "~" Sleep 2000 SendKeys "~" Sleep 1000 SendKeys "~" End If 'If NumLock is off, turn it on If GetKeyState(VK_NUMLOCK) = 0 Then 'Send NumLock key press to turn it on SendKeys "{NUMLOCK}" End If '---------------------------------------( إعادة التركيز لبرنامج الأكسس) SetForegroundWindow Application.hWndAccessApp MsgBox " تم الإرســــــال ", vbMsgBoxRight, "" End Sub Sub test() ' لا تنس إضافة كود الدولة SendToWhatsApp "96899445566", "السلام عليكم", "C:\Users\User\Desktop\123.jpg", Image End Sub طريقة الاستخدام : SendToWhatsApp "96899445566", "السلام عليكم", "C:\Users\User\Desktop\123.jpg", Image راجع :
  6. تعمل مع حقل التاريخ 🙂 ابحث عن المواضيع التي تتكلم عن جدولة الأقساط في المنتدى .. فالفكرة واحدة.
  7. أهلا بك أخي @يحي عبد الله 🙂 ببساطة يمكنك عمل استعلام تحديث .. والتحديث سيكون : [حقل تاريخ انتهاء العقد] + 30
  8. عن طريق تقرير رئيسي وبه تقارير فرعية تكون مربوطة ببعضها البعض عن طريق العلاقات كما قال أخي @Mohameddd200300 ..
  9. ما شاء الله تبارك الرحمن ☺️🌹 ممتاز جدا .. ويفتح آفاق عديدة لتحسين العمل على الأكسس .. 🙂👌🏼 عندي لا تظهر الأسماء العربية .. هل هناك ضبط معين لها ؟ مع العلم أن الأسماء تظهر جيدا عندما أفتح الملف الذي ينشأ بجانب القاعدة مباشرة .. أيضا لي تساؤل أعلم أنه ممكن ولكن لا أعلم كيفية تنفيذه .. 🙂 هل يمكن عرض رسومات بيانية بشكل حديث ومطور بلغة ال HTML لبيانات مصدرها جدول أو استعلام ؟ وهل يمكن طباعة نفس الرسومات البيانية في التقارير ؟ كيف يمكن عمل ذلك ؟ نطمع في دروس تفصيلية مما وهبك الله ☺️🖐🏼️ بارك الله فيك أخي @دروب مبرمج وفتح الله عليك 🙂
  10. لله درك أستاذنا @أبو إبراهيم الغامدي 🙂 بل هو فتح كبير 😀 سنحتاج لتطوير هذه النقطة إن شاء الله والبحث في موضوع المشاركة هو مطلب كبير أيضا لأن أغلب مواضيع البحث إجاباتها في التعقيبات وليس العناوين فقط .. 🙂 وهناك ملاحظة أخرى .. مربع البحث يستجلب البيانات ويضيفها للجدول وعند البحث بكلمة أخرى لا يفلتر النتائج حسب البحث الجديد بل يضيفها لما سبق .. وبارك الله جهودك الطيبة 🙂
  11. تحسين بسيط على الكود .. وهو حتى كلمات البحث تطبق عليها دالة تجاهل الهمزات 🙂 فلو كتبت في البحث ( أحمد ) تظهر جميع النتائج .. أحمد .. احمد .. إحمد .. وهكذا .. بحث بعدد 3الكلمات.rar
  12. بالنسبة لي سأساهم في هذا الجزء بدالة تقوم بتوحيد الحروف المتشابهة إلى حرف واحد وذلك لتلافي موضوع أخطاء الطباعة : 🙂 Function ReplaceArabicLetters(strText As String) As String ' استبدال الحروف العربية المتشابهة إلى حرف واحد وذلك لاستخدامها في عملية البحث وتلافي أخطاء الكتابة ' أ،إ،ا =(تحول إلى)=> ا ' ي،ى =(تحول إلى)=> ي ' ـه،ـة =(تحول إلى)=> ـه ' Moosak strText = Replace(strText, "أ", "ا") strText = Replace(strText, "إ", "ا") strText = Replace(strText, "ى", "ي") strText = Replace(strText, "ة", "ه") ReplaceArabicLetters = strText End Function مثال : ReplaceArabicLetters("أجمل إنسان في الحياة من ينسى الأحزان ويعيش الأمل") النتيجة : اجمل انسان في الحياه من ينسي الاحزان ويعيش الامل
  13. أخي @ابو عبد الرحمن اشرف استخدم المعايير في الاستعلامات .. ضع مثلا تحت حقل الشقق التالي : Not In(1308, 1307, 1302) وهكذا .. تضيف الأرقام التي لا تريدها أن تظهر بين القوسين. 🙂
  14. هنا أنت تقارن بين شيئين مختلفين لا علاقة بينهما ، التقسيم الهدف منه التمكين من عمل أكثر من مستخدم على نفس قاعدة البيانات ، أما تحويل القاعدة لـ accde لحماية عناصر البرنامج من التحرير ومنع المتطفلين. انتبه ثم انتبه ثم انتبه .. !!! هذه نقطة مهمة جدا جدا حتى لا تقع في الفخ !!! 🙂 يجب أن تحتفظ بنسخة accdb معك قبل أن تحول البرنامج الى accde ، لأن نسخة accde لايمكن تحريرها أو التعديل عليها بأي شكل من الأشكال .. هي نسخة مقفلة لاستخدام العميل فقط .. وأنت كمبرمج يجب أن تحتفظ عندك بالملفات الأصلية القابلة للتعديل ..
  15. وعليكم السلام ورحمة الله وبركاته .. 🙂 من خصائص النموذج حسب الصورة تختارون Edited Record وليس All Records
  16. وعليكم السلام ورحمة الله وبركاته 🙂 عن طريق استعلام إجماليات .. تحت الاسم (تجميع حسب) وتحت أرقام السجلات (max)
  17. أهلا بك أخي معتز 🙂 .. الهدف الرئيسي من عملية ربط الجداول ببعضها هو أن لا يتم تكرار إدخال نفس البيانات أكثر من مرة .. بل تدخلها مرة واحدة في جدول واحد .. ثم تربط الجداول الأخرى التي ستستخدم نفس المعلومات بالجدول الرئيسي عن طريق الحقل الذي يحتوي على الرقم الذي لا يمكن أن يتشابه به شخصين ( كالرقم المدني - الرقم الوظيفي - ... الخ ) فالأصل أن يكون واحد من هذه الجداول العشرة هو الجدول الرئيسي (جدول الموظفين) الذي ستدخل فيه بيانات الموظفين ( الرقم الوظيفي (المفتاح الأساسي) - الاسم - ............ وبقية البيانات ) ثم تربط الجداول التسعة بحقل الرقم الوظيفي الذي في (جدول الموظفين) .. بحيث يكون كل جدول يحتوي على حقل الرقم الوضيفي ( نوعه رقم - وليس مفتاح أساسي ) .. بعلاقة نوعها من واحد إلى متعدد ... أي الرقم الوظيفي الواحد يمكن استخدامه بشكل متعدد لا نهائي في الجداول التسعة ( مثال : الموظف الواحد يمكن إضافة عدد لا نهائي من الإجازات له في جدول الإجازات ) ... وهكذا ... والربط يكون من خلال نافذة العلاقت في البرنامج :
  18. حسب نظام الصلاحيات عندك .. لو كان عامل للمدير صلاحيات خاصة تطبقها عند فتح النموذج .. مثال : If [forms]![LoginForm]![IsManager] = True Then Me.AgreeCbo.Visible = True Else Me.AgreeCbo.Visible = False End If بمعنى التحكم يكون بخاصية الظهور Visible للقائمة المنسدلة .. والطرق كثييييييييرة ومتنوعة 🙂
  19. وعليكم السلام ورحمة الله 🙂 ممكن تعمل حقل عبارة عن قائمة منسدلة بها الـ 3 خيارات اللي ذكرتها (موافق - غير موافق - للتريث ) .. وتكون ظاهرة للمدير فقط .. ويمكنك أن تفلتر السجلات عليها ..
  20. الحمدلله على سلامتك حبيبنا 🙂 عودا حميدا 🌹
  21. البرنامج محول إلى الصيغة accde .. لايمكن فتحه .. يجب أن ترجع للمصمم الأصلي للبرنامج وتطلب البرنامج بصيغة accdb
  22. تفضل أخي @waheidi2005 🙂 تكتب في القيمة الافتراضية للحقل tno هذه الجملة : =Nz(DMax("[tno]";"[tbltameem]");0)+1
×
×
  • اضف...

Important Information