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

ابو جودي

أوفيسنا
  • Posts

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

  • Days Won

    186

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

  1. جرب عمل الاتى فى خصائص التقارير pop up=yes , modal=yes
  2. السلام عليكم ورحمة الله وبركاته مشاركة مع اساتذتى الافاضل كنا قد تطرقنا الى موضو ع شبيه لذلك وهذا >---->> رابط الموضوع واليكم المرفق بتطبيق الكود من الموضوع الذى تم التنويه عنه بعاليه والشرح تفصيلا موضوح بالموضوع مدة عمل الموظف.accdb
  3. سبحان الله اولا : فى هذا الصرح الشامخ تقدم المعلومات مجانا ثانيا : فى هذا المنتدى اهل الجود والكرم سواء كانوا اساتذة علماء واجلاء او خبراء او هواة او طلاب علم ثالثا : انت لا تعلم شئ عن ظروف الناس التى قد تسطيع تقديم المساعدة لك او لغيرك منهم الطاعن فى السن ومنهم المريض الذى قد يمنعه المرض احيانا من التواصل وتقديم يد العون ومنهم المشغول بعمله والذى هو اساس لقمة العيش بالنسبة له ولاولاده واهل بيته و و و و و................... الخ رابعا : معظم المواضيع التي لا يكون فيها رد معناه إما الموضوع صعب وإما ان الشرح مافيه تفصيل وامثلة فأنا مثلا اذا وجدت ان السؤال غير واضح اذهب الى موضوع آخر لكي استفيد من وقتي للأسف ارى بعض الاسئلة وكأن السائل يتمنن علينا بالمعلومة او يتهمنا بالتجاهل له بينما يجب ان يساعدنا بالتفاصيل حتى نساعده بالجواب وخذها قاعده اذا لم يتم الرد على سؤالك خلال يومين ووجدت اكثر من 10 قراءات فيجب عليك اعادة عرض السؤال بطريقة مختلفه وبشرح افضل وبمثال وهذا ما اقعله اذا وضعت سؤال فى المنتدى كما اننى على سبيل المثال والحمد لله تعالى اولا واخيرا على كل حال فى تلك الفترة اعانى من مشكلة عضوية لا تسمح لى بالتواجد والمشاركة كما كنت من قبل واذا دخلت الى المنتدى قد ادخل لاننى اريد شيئا معينا يخدم عملى والذى هو مصدر دخلى الاول والاخير و الوحيد واكون مضطرا للدخول وللعلم علمى لا علافة له بالبرمجة واحاول جاهدا فى تلك الدقائق القليلة تقديم المساعدة بقدر الامكان بالقاء نظرة سريعة على التساؤلات والتى احسها بسيطة ولن تستغرق منى وقت وجهد تظرا لحالتى الصحية اولا ولضيق وقتى ثانيا لا ابخل فى المشاركة وتقديم العون وعلى العموم جزاكم الله خيرا على وصفكم ونعتكم لرواد المنتدى والعرب جميعا بتلك الصفات الغير حميده ولكن بالاصالة عن نفسي وبالنيابة عن اخوانى رواد المنتدى العرب نسامح لوجه الله ونتصدق بأعراضنا لله تعالى لان اخلاقنا لا تسمح بغير ذلك وان وجدنا لك مسألة نسطيع المساعدة وتقديم يد العون فيها لن نبخل ولن نتردد ولن نقابل اسائتكم بمثلها لاننا لا نريد منكم او من غيركم جزاء او شكرا الكل هنا وانا اقلهم نبتغى وجه الله تعالى فقط ان اردتم التواجد بيننا اهلا بكم وان لم يكن لكم ما شئتم ملاحظة راجع ردود الاساتذة والخبراء تجد ان الاجابات لا تقتصر على قدر السؤال ولكن تقدم باستفاضة وبكرم وسخاء تم اغلاق الموضوع منعا لكثرة الكلام والقيل والقال .... ولكن رجاء لا تسئ الى اناس لا يستحقون ذلك
  4. الله يسلمك اعتذر عن طول الغياب ظروف عملى تحتم على ذلك فى الفترة الراهنة لم اضع الرد بوضع الرابط من أجل تأكيد انها فكرة قديمة او مكررة ولكن محور الفكرة فى اسنخدام اليونيكود هو الهدف اعرف ولكن فى الموضوع القديم تم وضع روابط لافكار اخرى وتم التطرق لموضوع الفرز والتصفية واستخدام افكار اخرى فكان الهدف اثراء الموضوع بصراحة كنت مستعجل وعاوز اقفل وكسلت اكتب كل الكلام اللى فات كل ده 😁 بس خوفت حد يفهمنى غلط ويزعل لان زعل اخوانى غالى جدا جدا جدا على ولذلك قررت البقاء والتوضيح رغم ضيق وقتى
  5. اولا ضع الكود الاتى فى وحدة نمطية Public Function ChnageDateFormat(Optional dtDateFormat As String = "dd/MM/yyyy") Shell "cmd.exe /c REG ADD ""HKEY_CURRENT_USER\Control Panel\International"" /v sShortDate /d """ & dtDateFormat & """ /F", vbHide End Function ثانيا طبق الكود الاتى بعد اسنخدام الاداة فى قاعدتك التى اشرت اليها بذلك تتخطى عقبة تنسيق التاريخ ChnageDateFormat() --------------------------------- فى حالة اردتم تغيير التنسيق الى تنسيق أخر مثلا yyyy/MM/dd ChnageDateFormat("yyyy/MM/dd") ملاحظة الحرف M الدال على تسيق الشهر لابد ان يكون Capital Letter اى يكتب كبير M وليس صغير مثل m
  6. انت تأمر يا دكتور إتفضل شوف فى المرفق النموذج اللى باسم frmOptionGroup ( √ ) أو ( x ) - الفرز -علامة.mdb
  7. تم تعديل المرفق ليسهل الاحتفاظ ببيانات جوجل داخل جدول وذلك لاضفاء المرونة فى حالة اردتم تغيير بيانات جوجل ببريد اخر او تغيير اسم النسخة التى نريد رفعها او كلمة المرور بسهولة كذلك تم حمل الملفات المقدمة من قبل دكتور حسانين @SEMO.Pa3x داخل قاعدة البيانات لعدم فقدها ممكن عمل تشفير لبيانات جوجل داخل الجدول لمن يريد GoogleDriveUploader.zip
  8. السلام عليكم ورحمة الله تعالى وبركاته الاكواد تعتمد على احد دوال ال API للويندوز وتم مراعاة العمل على كلا من النسختين 32 , 64 بيت الكود الاول فى راس الموديول وذلك لاحضار تنسيق تاريخ الجهاز Private Const LOCALE_USER_DEFAULT = &H400 Private Const LOCALE_SSHORTDATE = &H1F ' short date format string Private Const LOCALE_SLONGDATE = &H20 ' long date format string Private Const strTblFormatDate = "tblDateFormatWindows" #If VBA7 And Win64 Then Private Declare PtrSafe Function _ GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" _ (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long #Else Private Declare Function _ GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" _ (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long #End If Public Function GetDateFormatMyWin() Dim strLocale As String Dim lngRet As Long Dim strMsg As String strLocale = Space(255) lngRet = GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, strLocale, Len(strLocale)) strLocale = Left(strLocale, lngRet - 1) GetDateFormatMyWin = strLocale End Function الكود الثانى التأكد من وجود جدول لحفظ تنسيق تاريخ الجهاز Function ifTableExists(tblName As String) As Boolean If DCount("[Name]", "MSysObjects", "[Name] = '" & tblName & "'") = 1 Then ifTableExists = True End Function الكود الثالث جلب البيانات لتسيق تاريخ الجهاز الذى تم حفظه بالجدول Public Function DateFormatwinSaved() As String DateFormatwinSaved = Nz(DLookup("DateFormatWindows", strTblFormatDate), "") End Function الكود الرابع تغيير تسيق التاريح لجهاز الحاسوب ولكن اولا تخزين القيم الاصلية لتنسيق تاريخ الحاسوب داخل جدول لمن يريد استرجاع التسيق الاصلى مرة اخرى Public Function ChnageDateFormat(Optional dtDateFormat As String = "dd/MM/yyyy") If GetDateFormatMyWin() = dtDateFormat Then Exit Function Else Dim mySQL As String If ifTableExists(strTblFormatDate) = False Then DoCmd.SetWarnings False mySQL = "CREATE TABLE " & strTblFormatDate mySQL = mySQL & "([ID] counter," & "[DateFormatWindows] text," & "CONSTRAINT [Index1] PRIMARY KEY ([ID]));" DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True mySQL = "INSERT INTO " & strTblFormatDate mySQL = mySQL & "( DateFormatWindows )" mySQL = mySQL & " SELECT " mySQL = mySQL & " ('" & GetDateFormatMyWin() & "') " DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True ElseIf ifTableExists(strTblFormatDate) = True Then If DCount("*", strTblFormatDate) = 0 Then mySQL = "INSERT INTO " & strTblFormatDate mySQL = mySQL & "( DateFormatWindows )" mySQL = mySQL & " SELECT " mySQL = mySQL & " ('" & GetDateFormatMyWin() & "') " DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True ElseIf DCount("*", strTblFormatDate) > 0 Then mySQL = "UPDATE " & strTblFormatDate mySQL = mySQL & " SET " & strTblFormatDate mySQL = mySQL & ".DateFormatWindows = " & Chr(34) & GetDateFormatMyWin() & Chr(34) & ";" DoCmd.SetWarnings False: DoCmd.RunSQL mySQL: DoCmd.SetWarnings True End If End If Shell "cmd.exe /c REG ADD ""HKEY_CURRENT_USER\Control Panel\International"" /v sShortDate /d """ & dtDateFormat & """ /F", vbHide End If End Function الكود الاخير ارجاع التنسيق مرة اخرى للحاسوب والذى تم الاحتفاظ به داخل الجدول Public Function ReturnOldDateFormatWin() If GetDateFormatMyWin() = DateFormatwinSaved() Then Exit Function Else Shell "cmd.exe /c REG ADD ""HKEY_CURRENT_USER\Control Panel\International"" /v sShortDate /d """ & DateFormatwinSaved & """ /F", vbHide End If End Function طيب فى النهاية يفضل استخدام ماكرو AutoExec والذى وظيفته تنفيذ إجراء او اجراءات معينة في كل مرة تبدأ فيها تشغيل قاعدة بيانات Access وفى الماكرو من خلال RunCode نكتب اسم الوظيفة التى نريد استدعاؤها وهى ChnageDateFormat() الان عند تشغيل القاعدة يتم فحص تنسيق تاريخ الجهاز وان كان مساويا للتنسيق الموجود فى الفانكشن ChnageDateFormat والذى وضعته افتراضيا من خلال Optional dtDateFormat As String = "dd/MM/yyyy" يتم تجاهل الامر وفى حالة الاختلاف يتم تغيير تنسيق تاريخ الجهاز الى هذا النسيق الذى تم الاعلان عنه فى رأس الوظيفة dd/MM/yyyy ولاضفاء المرونة قمت بتعريف متغير التنسيق على انه اختيار ووضعت الاختيار المفضل dd/MM/yyyy فى حالة اردتم تغيير التنسيق الى تنسيق أخر مثلا yyyy/MM/dd كل ما عليكم هو استدعاء الوظيفة فى الماكرو بالشكل الاتى ChnageDateFormat("yyyy/MM/dd") ان شاء الله بهذا الكود لن تواجهوا مستقبلا مشاكل اختلاف تنسيق التاريخ فى دوال المجال ولا اخطاء فى تسجيل التواريخ .. بلا ..بلا ..بلا.................... الخ الخ طيب لو اردتم ارجاع التنسيق الافتراضى الذى كان قبل ذلك والذى احتفظنا به فى الجدول كل ما عليكم هو استدعاء الوظيفة الاتية عند الاغلاق لقاعدة البيانات ReturnOldDateFormatWin() انتهى الشرح ارجوا لكم تجربة الاستمتاع بتلك الافكار وهذه التجربة الافكار والاكواد وطرح التصور حصرى من بنات افكارى وانا مجهد جدا جدا جدا قد يمكن اختصار الاكواد واختزالها ولم انتبه لذلك مثلا من شدة الارهاق فلا تؤاخذونى فى ذلك .. و ليدلوا كل بدلوه فى ذلك الامر ... تم التجربة على ويندوز 10 - 64 بيت ولا ادرى هل يعمل على باقى واختلاف نسخ الويندور ام لا انتظر الرد من حضراتكم بنتائج تجاربكم ووضع اقتراحاتكم
  9. بالمناسبة فى الحل التانى انت اشرت الى IDmvmnt Mvmnt 1 انقطاع 2 مباشر يعنى سوف تقوم باستخدام حقول رقمية واخرى نصية مما يستوجب مستقبلا الربط بينهما بالاستعلامات او العلاقات او مجال الدوال ليش تصعب السهل وفى مرفق نوع الحقل رقم Long وليه تحجز 4 Byte بحالهم علشان الارقان 1 , 2 , 3 لما ممكن تستخدم 2 Byte بس لو كان الحقل Integer , Boolean انصحك راجع هذا الدرس
  10. اسال عن التعقيدات تجد الشرح ومنه تتعلم بمرور الوقت وهذه كانت اولى خطواتى هنا ولازلت ان تعثرت فقط نصيحة لا تضع اسالة نظرية ارفق قاعدة بعدد قليل من البيانات ودع عالم الرياضيات فى مخيلتك دائما عند التصميم والتفكير الجواب يأتى بناء على معطى , مجهول , ثابت وتذكر جيدا هذه كلمات من ذهب ضعها نصب عينيك دائما وابدا
  11. طيب وليه كل ده اضف الحقول الاتية فى الجدول الرئيسي منقطع - مفصول - موقوف على ان تكون من النوع Yes/No منقطع = yes مفصول = yes موقوف = yes وسوى استعلام ومرر اليه القيمى المعلمه ليقوم بعمل الفلتر تبعا للحالة الممرة او الابسط سوى عدد استعلامات تبعا لعدد الحالات وفى المعيار اختر حقل الفتر yes تبعا لكل حالة الموضوع ابسط من البساطة
  12. وبخصوص العام الماضى والذى لا ادرى عنه ولا اعلم طلما تعامل الله فى اخوانك وفى نفسك أعرض عمن اساء اليك ولا تعر لكلماته اى اهتمام وانا دائما اذكر نفسي بتلك الكلمات عندما احس بإساءة حتى الجم نفسي واهدئ اعصابى و حتى لا يتغلب على الشيطان او هوى نفسى وهواناها لأقابل اى اساءة بمثلها 👇 كن في الحياة كشآرب القهوة !.. يستمتع بهــا رغم سوآدها ومرآرتهآ وتذكر قول الخشب للمسمار: لقد كسرتني وألمتني فرد المسمار قائلاً : لو كنت رأيت الدق فوق رآسي لكنت عذرتني فليعذر النآس بعضهم البعض فكل شخص لآيعرف ظروف الآخر إذآ إستمريت بـ هذه الحسآسية الزآئدة . . والحزن علي كل تصرف , فـ إنك ستحوّل حيآتك إلي جحيم ! تذكَر .. أن النآس تختلف في تفكيرهآ وطبآعهآ فما ترآه أنت جآرحاً .... قد يرآه غيرك أمراً تآفهاً هنآك موآقف مؤلمة قد تتعرض لهآ ولكن , إلي متي تجتر الموقف وتقف عليه ! إن أصآبك الألم ! عشه في لحظته .. ثم تجآوزه وكآفح من أجل تجاهله أشغل نفسك .. تنآسآه حتي يغيب عن ذآكرتك ! إحفظ لسانك أيها الإنسان لا يلدغـنـّك .. إنه ثعبان فكم في المقابرمن قتيل لسانه كانت تهاب لقاءه الشجعان وإذا حار أمرك في معنيين ولم تدرِ أين الخطا والصواب فخالف هواك فإن الهوى يقود النفوس إلى ما يعاب ولا تحاسب النآس عندما يخطئوآ ولا تذهب لغيرهم لتشكوا منهم .. لسانك لا تذكر به عورة امرئ فكلك عـورات وللــناس ألـســــــن وعينك إن أبدت إليك من الناس مساوءً فقل يا عيني للنـاس كذلك أعين واقضى حاجة المحتاج حتى لو كان اليك مسيئاً فأفضل الناس مابين الورى رجل تقضى على يده للناس حاجات لا تمنعن يد المعروف عن أحد ما دمت مقتدرا فالسعد تارات واشكر فضائل صنع الله إذ جعلت إليك لا لك عند الناس حاجات مهما إختفت من حياتك أمور ظننت أنها سبب سعادتك ! تأكد أن اللـه صرفها عنك قبل ان تكون سبباً في تعاستك عليك بتقوي الله ان كنت غافلاً أنظر لحالك كيف تعصاه ويأتيك بالارزاق من حيث لا تدري فكيف تخاف الفقر والله رازقاً فقد رزق الطير و الحوت في البحر و من ظن ان الرزق يأتي بقوة ما اكل العصفور شيئاً مع النسر تزول عن الدنيا فانك لا تدري اذا جنّ عليك الليل هل تعيش الي الفجر فكم من صحيح مات من غير علة و كم من سقيم عاش حيناً من الدهر وكم من فتي امسي و اصبح ضاحكاً وأكفانه في الغيب تنسج وهو لا يدري فمن عاش الفاً و الفيـــــــــــــن فلا بد من يوم يسير الـــــي القبـــــــــــر صافح وسامح .. ودع الخلق للخالق .. {فأنت****** .. وهم****** ..ونحن****** .. كلنا راحلوون إفعل الخير مهما استصغرته .. فلآ تدري أي حسنة تدخلك الجنة
  13. انا لا ادرى عن العام الماضى ولكن انا كتبت رأى من اراد ان يأخذ به فيا أهلا وسهلا ومن لم يرد يا ميت مليون اهلا وسهلا السعيد من يتعظ بغيره والشقى من يتعظ بنفسـه عن نفسي اركز دائما وابدا فى النصائح التى تقدم سواء كان من اساتذتى الكرام العظماء او من احد طلاب العلم
  14. القارئ كالحالب والسامع كالشارب وانا افضل الشرب اسهل واسرع وبدون عناء للعلم انا مجرد هاو لست مبرمجا فى الاساس ولا هذا مجال عملى اطلاقا ولكن تعملت ولازلت اتعلم من التحليل للامثلة العملية وهذا ما افضله واحبذه فتحليل النظم يزيد الخبرة ويوسع الافاق وخاصة بعد التحليل والفهم عندما تحاول ان تضع افكار اخرى يزيدك هذا افكار جديدة وتصورات مختلفة
  15. اتفضل جورج الطويل تعديل 3 .accdb
  16. طيب مربع السرد ياللى باسم gender يتم استخدام الكود فى الحدث عند التغيير Private Sub gender_Change() Select Case Nz(gender, "") Case "": national = "" Case Is = "ذكر": national = "لبناني" wadeaa.RowSource = "متأهل;أعزب;مطلق;ارمل" wadeaa.Requery Case Is = "انثى": national = "لبنانية" wadeaa.RowSource = "متأهلة;عزباء;مطلقة;ارملة" End Select End Sub بخصوص الوضع العائلى لابد ان يكون مربع السرد wadeaa غر منضم وبدون مصدر التحكم وبعدين سوى بجواره مربع نص مخفى يكون مصدر التحكم حقه wadeaa ياللى كان تبع مربع السرد
  17. اتفضل اعتقد علامة = بعد [dateread] غير موجوده والا ارفق مثال ="[Nameread]='" & [x1] & "'" And [dateread]= Between Nz([Forms]![fmainreader]![x2]) And Nz([Forms]![fmainreader]![x3])
  18. اولا هذا المثال مبنى بتقنية ال HTML وبروفيسيور هذه التقنية هو الاستاذ @أبو إبراهيم الغامدي ولكن ملاحظة : المثال للاسف لا يعمل عندى .... أوفيس 2021 , 64Bit
  19. تم تحديث المرفق بوضع كود تصيد الاخطاء لعدم تكرار الاحتفاظ باسماء الطابعات لنفس جهاز الحاسوب
  20. اتفضل يا سيدى SetMultiPrinter.accdb
×
×
  • اضف...

Important Information