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

ابو جودي

أوفيسنا
  • Posts

    6997
  • تاريخ الانضمام

  • Days Won

    202

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

  1. تم تعديل المرفق ليسهل الاحتفاظ ببيانات جوجل داخل جدول وذلك لاضفاء المرونة فى حالة اردتم تغيير بيانات جوجل ببريد اخر او تغيير اسم النسخة التى نريد رفعها او كلمة المرور بسهولة كذلك تم حمل الملفات المقدمة من قبل دكتور حسانين @SEMO.Pa3x داخل قاعدة البيانات لعدم فقدها ممكن عمل تشفير لبيانات جوجل داخل الجدول لمن يريد GoogleDriveUploader.zip
  2. السلام عليكم ورحمة الله تعالى وبركاته الاكواد تعتمد على احد دوال ال 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 بيت ولا ادرى هل يعمل على باقى واختلاف نسخ الويندور ام لا انتظر الرد من حضراتكم بنتائج تجاربكم ووضع اقتراحاتكم
  3. بالمناسبة فى الحل التانى انت اشرت الى IDmvmnt Mvmnt 1 انقطاع 2 مباشر يعنى سوف تقوم باستخدام حقول رقمية واخرى نصية مما يستوجب مستقبلا الربط بينهما بالاستعلامات او العلاقات او مجال الدوال ليش تصعب السهل وفى مرفق نوع الحقل رقم Long وليه تحجز 4 Byte بحالهم علشان الارقان 1 , 2 , 3 لما ممكن تستخدم 2 Byte بس لو كان الحقل Integer , Boolean انصحك راجع هذا الدرس
  4. اسال عن التعقيدات تجد الشرح ومنه تتعلم بمرور الوقت وهذه كانت اولى خطواتى هنا ولازلت ان تعثرت فقط نصيحة لا تضع اسالة نظرية ارفق قاعدة بعدد قليل من البيانات ودع عالم الرياضيات فى مخيلتك دائما عند التصميم والتفكير الجواب يأتى بناء على معطى , مجهول , ثابت وتذكر جيدا هذه كلمات من ذهب ضعها نصب عينيك دائما وابدا
  5. طيب وليه كل ده اضف الحقول الاتية فى الجدول الرئيسي منقطع - مفصول - موقوف على ان تكون من النوع Yes/No منقطع = yes مفصول = yes موقوف = yes وسوى استعلام ومرر اليه القيمى المعلمه ليقوم بعمل الفلتر تبعا للحالة الممرة او الابسط سوى عدد استعلامات تبعا لعدد الحالات وفى المعيار اختر حقل الفتر yes تبعا لكل حالة الموضوع ابسط من البساطة
  6. وبخصوص العام الماضى والذى لا ادرى عنه ولا اعلم طلما تعامل الله فى اخوانك وفى نفسك أعرض عمن اساء اليك ولا تعر لكلماته اى اهتمام وانا دائما اذكر نفسي بتلك الكلمات عندما احس بإساءة حتى الجم نفسي واهدئ اعصابى و حتى لا يتغلب على الشيطان او هوى نفسى وهواناها لأقابل اى اساءة بمثلها 👇 كن في الحياة كشآرب القهوة !.. يستمتع بهــا رغم سوآدها ومرآرتهآ وتذكر قول الخشب للمسمار: لقد كسرتني وألمتني فرد المسمار قائلاً : لو كنت رأيت الدق فوق رآسي لكنت عذرتني فليعذر النآس بعضهم البعض فكل شخص لآيعرف ظروف الآخر إذآ إستمريت بـ هذه الحسآسية الزآئدة . . والحزن علي كل تصرف , فـ إنك ستحوّل حيآتك إلي جحيم ! تذكَر .. أن النآس تختلف في تفكيرهآ وطبآعهآ فما ترآه أنت جآرحاً .... قد يرآه غيرك أمراً تآفهاً هنآك موآقف مؤلمة قد تتعرض لهآ ولكن , إلي متي تجتر الموقف وتقف عليه ! إن أصآبك الألم ! عشه في لحظته .. ثم تجآوزه وكآفح من أجل تجاهله أشغل نفسك .. تنآسآه حتي يغيب عن ذآكرتك ! إحفظ لسانك أيها الإنسان لا يلدغـنـّك .. إنه ثعبان فكم في المقابرمن قتيل لسانه كانت تهاب لقاءه الشجعان وإذا حار أمرك في معنيين ولم تدرِ أين الخطا والصواب فخالف هواك فإن الهوى يقود النفوس إلى ما يعاب ولا تحاسب النآس عندما يخطئوآ ولا تذهب لغيرهم لتشكوا منهم .. لسانك لا تذكر به عورة امرئ فكلك عـورات وللــناس ألـســــــن وعينك إن أبدت إليك من الناس مساوءً فقل يا عيني للنـاس كذلك أعين واقضى حاجة المحتاج حتى لو كان اليك مسيئاً فأفضل الناس مابين الورى رجل تقضى على يده للناس حاجات لا تمنعن يد المعروف عن أحد ما دمت مقتدرا فالسعد تارات واشكر فضائل صنع الله إذ جعلت إليك لا لك عند الناس حاجات مهما إختفت من حياتك أمور ظننت أنها سبب سعادتك ! تأكد أن اللـه صرفها عنك قبل ان تكون سبباً في تعاستك عليك بتقوي الله ان كنت غافلاً أنظر لحالك كيف تعصاه ويأتيك بالارزاق من حيث لا تدري فكيف تخاف الفقر والله رازقاً فقد رزق الطير و الحوت في البحر و من ظن ان الرزق يأتي بقوة ما اكل العصفور شيئاً مع النسر تزول عن الدنيا فانك لا تدري اذا جنّ عليك الليل هل تعيش الي الفجر فكم من صحيح مات من غير علة و كم من سقيم عاش حيناً من الدهر وكم من فتي امسي و اصبح ضاحكاً وأكفانه في الغيب تنسج وهو لا يدري فمن عاش الفاً و الفيـــــــــــــن فلا بد من يوم يسير الـــــي القبـــــــــــر صافح وسامح .. ودع الخلق للخالق .. {فأنت****** .. وهم****** ..ونحن****** .. كلنا راحلوون إفعل الخير مهما استصغرته .. فلآ تدري أي حسنة تدخلك الجنة
  7. انا لا ادرى عن العام الماضى ولكن انا كتبت رأى من اراد ان يأخذ به فيا أهلا وسهلا ومن لم يرد يا ميت مليون اهلا وسهلا السعيد من يتعظ بغيره والشقى من يتعظ بنفسـه عن نفسي اركز دائما وابدا فى النصائح التى تقدم سواء كان من اساتذتى الكرام العظماء او من احد طلاب العلم
  8. القارئ كالحالب والسامع كالشارب وانا افضل الشرب اسهل واسرع وبدون عناء للعلم انا مجرد هاو لست مبرمجا فى الاساس ولا هذا مجال عملى اطلاقا ولكن تعملت ولازلت اتعلم من التحليل للامثلة العملية وهذا ما افضله واحبذه فتحليل النظم يزيد الخبرة ويوسع الافاق وخاصة بعد التحليل والفهم عندما تحاول ان تضع افكار اخرى يزيدك هذا افكار جديدة وتصورات مختلفة
  9. اتفضل جورج الطويل تعديل 3 .accdb
  10. طيب مربع السرد ياللى باسم 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 ياللى كان تبع مربع السرد
  11. اتفضل اعتقد علامة = بعد [dateread] غير موجوده والا ارفق مثال ="[Nameread]='" & [x1] & "'" And [dateread]= Between Nz([Forms]![fmainreader]![x2]) And Nz([Forms]![fmainreader]![x3])
  12. اولا هذا المثال مبنى بتقنية ال HTML وبروفيسيور هذه التقنية هو الاستاذ @أبو إبراهيم الغامدي ولكن ملاحظة : المثال للاسف لا يعمل عندى .... أوفيس 2021 , 64Bit
  13. تم تحديث المرفق بوضع كود تصيد الاخطاء لعدم تكرار الاحتفاظ باسماء الطابعات لنفس جهاز الحاسوب
  14. اتفضل يا سيدى SetMultiPrinter.accdb
  15. نعم يوجد تمكين الشفت.mdb
  16. السلام عليكم ورحمة الله تعالى وبركاته انا افتقد الاستاذ جعفر كثيــــــــــرا... كل يوم اترقب دخوله الى المنتدى ارجوكم من يستطيع التواصل مع استاذى الجليل ومعلمى القدير الاستاذ @jjafferr لا يتردد عن ارسال السلام والتحية اليه واسال الله تعالى ان يعود الينا سالما غانما فى اقرب وقت
  17. وعليكم السلام ورحمة الله تعالى وبركاته جزاكم الله خيرا يا دكتور شغل وشرح وصوت ولا اجمل و ولا اروع شكرا يا دكتور @SEMO.Pa3x لو تكرمت ممكن نسخة من السورس كود مفتوح المصدر يا دكتور للاداة المبرمجة بلغة NET. اسال الله تعالى الرحمة والعفو والغفران لكم و لكل المسلمين و لوالديكم و والداى وكل المسلمين برحمته التي وسعت كل شيء اللهم ان ابائنا قد احسنوا الينا منذ يوم ولادتنا اللهم وبحق هذا الاحسان ارحمهما و اغفر لهما برحمتك التى وسعت كل شيء اللهم ارحم من فى بطن الارض من ابائنا و استرهم يوم العرض يارب العالمين يا رب انت خلقتهم وانت اخذتهم وانت الرحيم فليس غيرك ارحم بهم اللهم ارحمهم و اغفر لهم اكرم نزلهم و وسع مدخلهم اللهم اجعل قبورهم روضه من رياض الجنة واجمعنا بهم في جنة النعيم برحمتك يا ارحم الراحمين مع النببين والصديقين والشهداء ارحم يارب من مات منهم بالدنيا ولم يمت في قلوبنا اللهم ارحمه فهو اغلى من فقدنا واسكنه فسيح جناتك يا ارحم الراحمين اللهم من بقى منهم فى هذه الدنيا بارك فى اعمارهم وارزقهم ثوب العافية وحبب الايمان الى قلوبهم وتقبل اعمالهم وارزقنا برهم وارض عنهم يارب واجعلهم راضين عنا يارب العالمين واحسن يارب خاتمتنا وخاتمتهم وكل المسلمين .. آمين آمين آمين 🤲
  18. انا كتبت لك الحل على فكرة واذا مش عارف تنفذ هذه قاعدتك بعد التعديل اجازات الضباط1 - Copy.zip
  19. الموضوع اصلا من منتدى اوفيسنا ليش التكرار ؟ فى راس محرر اكواد النموذج تجد السطرين التاليين 'هذا مثال أعتز به فهو حقا إلتقاء للفكر العربى 'وكذالك من دواعى سرورى به مشاركتى العمل فيه خبير وعملاق من عمالقة أوفيسنا رمهان لان كنت انا صاحب الفكرة وتمت على يد الاستاذ @رمهان رجاء تقليل المواضيع المكرره والاكواد بالمسميات التى وضعتها 'هذا مثال أعتز به فهو حقا إلتقاء للفكر العربى 'وكذالك من دواعى سرورى به مشاركتى العمل فيه خبير وعملاق من عمالقة أوفيسنا رمهان ''رمهان ''اوفيسنا Private Sub comb_Search_AfterUpdate() On Error Resume Next Me.Filter = Nz(comb_Search, "id") & " Like ""*" & txt_Search & "*""": Me.FilterOn = True End Sub ''رمهان ''اوفيسنا Private Sub txt_Search_Change() On Error Resume Next FindAsType = txt_Search.Text Me.Filter = (Nz(comb_Search, "ID")) & " Like ""*" & FindAsType & "*""": Me.FilterOn = True txt_Search.SetFocus txt_Search = FindAsType txt_Search.SelStart = Len(FindAsType) End Sub يغلق للتكرار
  20. اتفضل 1- تاريخ اخر اضطرارية =Format(DMax("[التاريخ]","القطع1","[نوع الصرف] ='اضطرارية'"),"yyyy/mm/dd") 2- تاريخ اخر حافز =Format(DMax("[التاريخ]","القطع1","[نوع الصرف] ='حافز'"),"yyyy/mm/dd") 3- تاريخ اخر مغادرة =Format(DMax("[التاريخ]","القطع1","[نوع الصرف] ='مغادرة'"),"yyyy/mm/dd") 4- تاريخ اخر سنوية =Format(DMax("[التاريخ]","القطع1","[نوع الصرف] ='سنوية'"),"yyyy/mm/dd")
  21. اذا ناوى تتعامل مع سيكوال يبقى سيب الاكسس وروح ل vb.net ولكن سيكون هناك اختلافات قليلة فى بناء الاكواد وبما انك نويت التغيير ما انصجك بال vb.net انصحك بالتوجه فورا وبدون تفكيــر لـ #C
  22. هات البرنامج الرئيسي لان انا ما عدلت اى شئ الا فى النموذج الرئيسي فقط
×
×
  • اضف...

Important Information