اذهب الي المحتوي
أوفيسنا

ابو جودي

أوفيسنا
  • Posts

    6,830
  • تاريخ الانضمام

  • Days Won

    186

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

  1. انا عارف انك شغال على شئ سوف يرى النور قريبا وانا منتظر بلهفة مشتاق ديما شغالين لا تقلق ابشر بالخير ان شاء الله
  2. الشكر والفضل كله لله سبحانه وتعالى كل عام وانتم بخير وكل عام وانتم الى اقرب وعلى طاعته ادوم
  3. اهلا اهلا استاذى الجليل واخى الحبيب دكتور @الحلبي والله اشتاقت نفسي اليكم ولقياكم كثيرا كل عام وانتم بخير وكل عام وانتم الى اقرب وعلى طاعته ادوم
  4. وبعد قليل تجدوا اخونا الغالى استاذى القدير ومعلمى الجليل الباش مهندس @Moosak يضع تلك المشاركة الله يخلى لنا اياه ولا يحرمنا منه ولا من مكتبته فننتظر منه بعد ان تمتلئ مكتبته مشاركتنا اياها مملؤه بدلا من المكتبة الخاوية التى ضحك علينا بها قبل فترة وهذا المرفق الأخير Database1011 v5.accdb
  5. انظر الى الموضوع هذا ان شاء الله تجد فيه مرادك وهذا التطبيق على قاعدتك .. اتفضل Database11 v2.accdb
  6. ماشاء الله... الله اكبر يا دكتور @د.كاف يار جزاكم الله خيـرا
  7. اتفضل اسف كنت مستعجل ولم انتبه لتلك النقطة جدول البرامج-v3.accdb
  8. اتفضل تجربة سريعة لانى مستعجل الان وقت صلاة العشاء والتروايح السلام عليكم جدول البرامج-v2.zip
  9. اتفضل ياسيدى بس انا عندى مشكلة فى ضبط اخر حالة مش قادر اعرف السبب افتح النموذج frmFilter وشوف الجزء الاول الفرز بالرتبة تمام يعمل منفردا او يتم التصفية والفرز بناء عليها مع باقى القيم الاتية فى باقى الشروط الجزء الثانى الفرز بالجنس مثل سابقه الجزء الثالث والذى يحوى المشكلة يتم الفرز ولكن تختفى البيانات انا الان رايح اصلى التراويح بعدين نكمل ان شاء الله Database1011 v4.accdb
  10. وعليكم السلام ورحمة الله تعالى وبركاته لا شكر على واجب اخى الحبيب كل عام وانتم الى الله اقرب وتقبل الله تعالى منا ومنكم ومن امة محمد الطاعات و الصيام والقيام واعاده الله علينا ان شاء الله على الخير والفلاح والايمان واليمن والبركات بالنسبة للحقلين ما هو انا بالنسبة لى كانت المشكلة فيهم لانهم غير مرتبطين بأى شئ تبعا للمرفق وكان الخطأ منهم ولو تلاحظ احنا برمضان يعنى ما ينفع نحضر عفاريت منشان تقف على الافكار والبينة اللى تخص القاعدة لنصل الى الخطأ سبب المشكلة ولذلك لو لاحظت طلبت منكم هذا الطلب
  11. بس تعلالى بقه يا سى الباش مهندس @Moosak عاوز اسألك سؤال فى سؤال تقدر تعمل اللى انت عملته ده من غير نموذج فرعى ومن غير استعلام يعنى لو عاوزين نوفر فى استخدام الكائنات شوية ونوصل لنفس النتيجة نركب ايه ونروح من فين ؟
  12. انا اتخضيت مش تخبط الاول وترمى السلام 🤭 يا هلا باش مهندس @Moosak اتفضل يا سيدى اسمح لك طبعا افعل ما تشاء كلنا ملك يمينك وتحت امرك انا كنت ناوى اربط له المرفق بالمرفق السابق لموضوعه الاخر تباعا والنهوض تدريجيا بمستوى الحلول مع التغييرات اللازمة لا احاول تقديم الحل فقط وانما احاول تقديم النصح والارشاد للبناء الصحيح
  13. وهل تاريخ يوم الأحد ثابت واللا سوف يتغير ويكون هناك الكثير من ايام الاحد بتواريخ مختلفة ؟ وهل تريد ذلك ليوم الاحد فقط ام على جميع الايام حسب اختيارك ؟ حاول تشرح شرح بسيط لما تريده اجمالا حتى تتضح الرؤية أكثر من ذلك فهى بالنسبة لى الان ضبابية ولا استطيع التفكير ولاحظ ان الاستعلام المبنى عليه العمل فى النموذج الفرعى هو كلي0 وهذا الاستعلام يتكون من ثلاث جداول 1- التنسيق_جدول_كلي 2- التنسيق_بيانات_المادة 3- ايام_الاسبوع لذلك أن اردنا نسخ الخقول المختارة وتغيير اليوم الى الاحد لابد من التغيير فى الجدول 3- ايام_الاسبوع فان اردت الحاق البيانات الى الاحد الموجود فقط فى هذا الجدول لها طريق وان اردت يوم احد اخر بتاريخ اخر سوف يكون طريق أخر فى الية العمل والتفكير ولان الجدول مرتبطة بعلاقات لابد من الحاق البيانات تبعا للجداول والعلاقات لذلك لابد من التوضيح أكثر كما أشرت إليك بعاليه
  14. طيب الاول سامحنى اانا سوف أكمل تطبيق على القاعدة المعدلة بالانجليزية لا استطيع العمل والتعامل مع اللغة العربية المرفق الاول تجهيز القاعدة للحقول الجديدة لاحظ وجود موديول جديد لحساب العمر من خلال تاريغ الميلاد وبذلك لن نحتاج الى وضع العمر فى حقل خاص به فى جدول الموظفين بل يكفينا تاريخ الميلاد فقط ... يتبع جارى العمل على باقى التعديلات Database1011 v3.accdb
  15. ممكن مرفق من القاعدة وتحديد مكان العمل فيها الذى يحوى تلك المشكلة وياريت شرح مبسط للنتيجة اللى حضرتك تحتاج الوصول اليها
  16. اتفضل يا سيدى حاول كتابة الجدول باللغة الانجليزية وكذلك الحقول ان اضطررت لكتابة كلمة مكونة من أكثر من مقطع اكتب كل الحروف صغيرة ماعدا اول حرف من كل مقطع يكون أحرف كبيرة ولا تترك مسافات بين المقاطع ولا تستخدم هذه العلامة - بين المقطاع وان اردت استخدام علامات استخدم هذه العلامة _ بدلا من السابقة كل ذلك يسهل عليك كتابة الاكواد داخل محررد الاكواد او منشئ التعبير داخل الاستعلامات مستقبلا ويجنبك اخطاء ومشاكل انت فى غنى عنها وحاول ان لا تستخدم حقل الـ ID الذى ينشئه الأكسس تبقائئيا فى تصميمك اتركه للاندكس أفضل وانظر الى الرتب الافضل عمل جدول خاص بها ونستخدم المعرف الخاص بها فى جدول الموظفين ليكون خثلا رقميا بدلا من الحقل النصى وذلك لتقليل حجم البيانات مما ينعكس عليه حجم قاعدة بيانات ذلك افضل تقبل مودتى واعتذر للاطالة وأخير القاعدة من وجهة نظرى المتواضعة كما ينبغى ان تكون Database1011 v2.accdb
  17. جزاكم الله خيــــرا استاذ @nabilalibibo لا شكر على واجب واعتذر لم انتبه لوجود نموذج يعتمد على الاستعلام ابشر جارى العمل على تعديل النموذج
  18. وإثراء للموضوع فكرتى المتواضعة على طريقة المعقدين نقسيا امثالى من بعد إذن استاذى الجليل ومعلمى القدير الاستاذ @Barna عدد 2 وظيفة ليمكن تطبيق المطلوب فى زوايا قاعدة البيانات الوظيقة الأولى حساب مدة التقاعد ولان المطلوب زيادة سنه فلقد تم التعامل مع الاكواد على ان يكون الوضع المفضل سنة واحدة بطريقة الية وفى حالة إن اراد المستخدم الزيادة عن السنة من خلال عدد الأيام من واقع ( مدة اضافية ) يتم ذلك بسهولة عند استدعاء الوظيفة بكل سهولة Public Function RetirementDate( _ ByVal dtContractDate As Date, _ Optional nDay As Integer = 0, _ Optional nYear As Integer = 1 _ ) If nDay = 0 Then RetirementDate = DateAdd("yyyy", nYear, dtContractDate) Else RetirementDate = DateAdd("yyyy", nYear, dtContractDate) RetirementDate = DateAdd("d", nDay, RetirementDate) End If RetirementDate = Format(RetirementDate, "dd/mm/yyyy") End Function طريقة استدعاء الوظيفة الاتية لحساب مدة التقاعد كالاتى RetirementDate([ContractDate],nz([addDayCont],0) ContractDate = تاريخ بدأ التعاقد ( تاريخ التعيين ) addDayCont = عدد الايام المضافة ( مدة اضافية ) ---------------------------- حساب الايام المتبقية للاحالة للتقاعد Public Function MyDayRem(GetRetirementDate) Dim EndContract As String EndContract = ChrW("1578") & ChrW("1593") & ChrW("1575") & ChrW("1602") & ChrW("1583") & ChrW("32") & ChrW("1605") & ChrW("1606") & ChrW("1578") & ChrW("1607") & ChrW("1609") MyDayRem = IIf(DateDiff("d", Now(), GetRetirementDate) <= 0, EndContract, DateDiff("d", Now(), GetRetirementDate)) End Function طريقة استدعاء الوظيفة الاتية لحساب عدد الإيام المتبقية للإحالة إلى التقاعد كالاتى MyDayRem([RetirementDateValue]) وهذا ملف التطبيق تم التطبيق فى الاستعلام qryRetirDate من خلال الاكواد فى الوحدة النمطية Database1011.accdb
  19. العفو منكم استاذى الجليل ومعلمى القدير الاستاذ @Barna صدقت اذا حضر الماء بطل التيمم لا فض فوك لذلك تتقدمون انتم استاذى الجليل ويصطف كل طلاب العلم وانا اقلهم واولهم خلفكم فنهتدى بكم ونسير على خطى دربكم لنقتدى بكم اسأل الله تعالى ان يرزقكم استاذى الجليل وكل معلمينا العظماء البركة فى العلم والعمر والعمل وان يتقبل كل اعمالكم فى موزاينكم ان شاء الله
  20. جرب كده ولو تكرمت ممكن ترفق القاعدة كاملة رسالة خطاء عند فتح سجل جديد.accdb
  21. اتفضل يا سيدى غير الاكواد داخل الموديول بتلك الاكودا التعديل يتوافق للعمل على كلتا النواتان 32 , 64 انا الان قمت بالتجربة على 64 برجاء التجربة على 32 وموافتنا بالنتيجة #If VBA7 Or Win64 Then Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As LongPtr, ByVal ncode As LongPtr, ByVal wParam As LongPtr, lParam As Any) As LongPtr Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As LongPtr Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As LongPtr, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As LongPtr) As LongPtr Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As LongPtr) As LongPtr Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" (ByVal hDlg As LongPtr, ByVal nIDDlgItem As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As LongPtr, ByVal lpClassName As String, ByVal nMaxCount As LongPtr) As LongPtr Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As LongPtr #Else Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook as long, ByVal ncode as long, ByVal wParam as long, lParam As Any) as long Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) as long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA"(ByVal idHook As LongPtr, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As LongPtr) As LongPtr Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook as long) as long Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" (ByVal hDlg as long, ByVal nIDDlgItem as long, ByVal wMsg as long, ByVal wParam as long, ByVal lParam as long) as long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd as long, ByVal lpClassName As String, ByVal nMaxCount as long) as long Private Declare Function GetCurrentThreadId Lib "kernel32" () as long #End If 'Constants to be used in our API functions Private Const EM_SETPASSWORDCHAR = &HCC Private Const WH_CBT = 5 Private Const HCBT_ACTIVATE = 5 Private Const HC_ACTION = 0 #If VBA7 Or Win64 Then Private hHook As LongPtr #Else Private hHook As Long #End If Public Function NewProc(ByVal lngCode As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr Dim RetVal Dim strClassName As String Dim lngBuffer As LongPtr If lngCode < HC_ACTION Then NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam) Exit Function End If strClassName = String$(256, " ") lngBuffer = 255 If lngCode = HCBT_ACTIVATE Then RetVal = GetClassName(wParam, strClassName, lngBuffer) If Left$(strClassName, RetVal) = "#32770" Then SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0 End If End If CallNextHookEx hHook, lngCode, wParam, lParam End Function Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, Optional YPos, Optional HelpFile, Optional Context) As String On Error GoTo ExitProperly Dim lngModHwnd As LongPtr Dim lngThreadID As LongPtr lngThreadID = GetCurrentThreadId lngModHwnd = GetModuleHandle(vbNullString) hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID) InputBoxDK = InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context) UnhookWindowsHookEx hHook ExitProperly: UnhookWindowsHookEx hHook End Function -------------------------------------------------------- للاسف مش دايما بيكون ده التعديل وبس شوف الكود وانت تعرف الفرق وغير انت الملف القديم وجربه مش راح يشتغل وهذا مرفق التطبيق بعد التعديل DeleteWithPassword.accdb
  22. انتم الأروع باش مهندس @Moosak بمساندة طلبة العلم ورفع روحهم المعنوية بكلماتكم الرقراقة البراقة هذا فضل الله تعالى اولا واخيرا فالعبد الفقير الى الله مجرد سبب سببه الله تعالى .. لله تعالى الحمد والمنة واضع انه سوف نطالب بفرض ضريبة على هذه المكتبة
  23. كلنا واحد والمهم هو الوصول الى الغاية واعوذ بالله واياكم من القهر جزاكم الله خيرا ... لكن والله ان الاجابات والحلول رزق من الله تعالى وفقط يستعملنى الله تعالى لاكون سبب ليس الا قاللهم اسأل ان يستعملنى فى الخير دائما وابدا ما شاء الله .. اسأل الله لكم التوفيق والسداد انتظر على أحر من الجمر بزوغ هذا النور ان شاء الله ولازلت اصر واتمنى وانادى ان تطرح افكار يتم النقاش حولها ويتم تناولها والعمل عليها بشكل جماعى حتما العمل الجماعى يولد الافكار ويزيد حصيلة الخيال اتمنى من كل قلبى ان نطلق العنان لافكارنا مجتمعين سوف تحدث فارق كبير بإذن الله على سبيل المثال تلك الافكار التى وضعتها اليوم لهذا الكود طبعا ولان اخونا الحبيب الاستاذ @أحمد وجيه وكما تفضلتم استاذى لم يسرد جميع المعطيات من البداية تم وضع الحلول بشكل عام تبعا للمرفق الذى تقدم به ولكن مع سررد الطلبات تباعا وبعد تقديم الحلول صالت وجالت بنات افكارى لوضع الكود بشكل وظيفة عامة تلبى كل الاحتياجات دون تكرار الاكواد تبعا لكل حالة فلو لاحظت فى تلك الاقتباسات وكذلك وبذلك لابد من كتابة الاكواد اكثر من مرة تبعا لكل جدول ولكل حالة للبادئة فـ أنا الان أحاول جاهدا ان تكون الأكواد فى وظائف عامة قدر الامكان لتلبى كل الاحتياجات قدر الامكان للتقليل من استخدام الاكواد مستقبلا وبفضل الله تعالى والحمد لله الذى هدانا لهذا وما كنا لنهتدى لولا ان هدانا الله عزوجل تم الحصول على نتيجة من وجهة نظرى المتواضعة مرنة وشاملة وأحسبها كافية و وافية
  24. ممكن المرفق
  25. بل روعة حياتنا هم اساتذتنا العظماء الذين اناروا افكارنا شكرا لكم استاذى الجليل و معلمى القدير و والدى الحبيب استاذ @ابوخليل على مروركم العطر ومتابعة طلاب العلم وانا منهم وشكرا على كلماتكم الطيبة وتلك الطاقة الايجابية التى تبثونها فى نفوس طلاب العلم جارى العمل على المرفق الان وفور الانتهاء منه سوف اقوم برفع المرفق فى الموضوع لم يسعفنى الوقت بسبب اقتراب موعد الافطار اثناء كتابة الموضوع كل عام وانتم بخير
×
×
  • اضف...

Important Information