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

نجوم المشاركات

  1. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      7

    • Posts

      1,681


  2. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      4

    • Posts

      6,813


  3. أبو عبدالله الحلوانى
  4. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      2

    • Posts

      4,419


Popular Content

Showing content with the highest reputation on 25 يول, 2022 in all areas

  1. السلام عليكم المرفق به شرح من أحد موضوعات الاستاذ صالح حمادي افحصه وان وجدت وقتا كافيا سأرفق لك مثالا ان شاء الله يقوم بالمطلوب وفقا لشرح استاذنا صالح جزاه الله خيرا وان بحثت عن الموضوع ستجد من الافادة الكثير ان شاء الله prowser.docx
    3 points
  2. فقط عدل المحدد الى sub تفضل التعديل انشاء استعلام الحاقي و نقل البيانات من جدول الى جدول.accdb
    2 points
  3. تفضل هذا التعديل بعض التحسينات تغيير اسلوب ارسال البيانات الى ملف الورد لتصبح اسهل في التحكم كذلك حفظ الملف بصيغة PDF و بإسم المشتري عقود.zip
    2 points
  4. جميع ما تحتاجه موجود في اجابة @Eng.Qassim اجابة و اقتراح من سطر واحد تغنييك عن تكرار الجداول عديمة الفائدة بإختصار قم بإضافة عمود جديد لتحديد حالة الطالب ( مستمر - منقطع - مفصول - موقوف - ........... الخ ) تعلم انشاء مثل هذه الاستعلامات بطريقة احترافية تسهل عليك العمل دوماً جرب استخدم الكود التالي في عمليات ( الإضافة - التحديث - الحذف - الاستعلام ) لإضافة بيانات جديدة للجدول استخدم الكود التالي On Error GoTo errorhandle Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("ضع هنا اسم الجدول") rs.AddNew rs.Fields("اسم العمود 1").Value = "القيمة1" rs.Fields("اسم العمود 2").Value = "القيمة2" rs.Fields("اسم العمود 3").Value = "القيمة3" rs.Update MsgBox "تم اضافة البيانات بنجاح", vbInformation + vbMsgBoxRight, "تأكيد" errorhandleexit: Exit Function errorhandle: MsgBox Err.Description Resume errorhandleexit و لتحديث سجل محدد استخدم الكود التالي On Error GoTo errorhandle Dim rs As DAO.Recordset, SerTb As String, SetCoulmin As String, SetValue As String SerTb = "ضع هنا اسم الجدول" SetCoulmin = "اسم العمود في الجدول الذي يحتوي على المفتاح الرئيسي" SetValue = "حقل العيار الذي يحتوي على المفتاح الرئيسي في النموذج" Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & SerTb & " where [" & SetCoulmin & "] Like '" & SetValue & "'") rs.Edit rs.Fields("اسم العمود 1").Value = "القيمة1" rs.Fields("اسم العمود 2").Value = "القيمة2" rs.Fields("اسم العمود 3").Value = "القيمة3" rs.Update MsgBox "تم تحديث البيانات بنجاح", vbInformation + vbMsgBoxRight, "تأكيد" errorhandleexit: Exit Function errorhandle: MsgBox Err.Description Resume errorhandleexit و لحذف حقل استخدم الكود التالي On Error GoTo errorhandle Dim rs As DAO.Recordset, SerTb As String, SetCoulmin As String, SetValue As String SerTb = "ضع هنا اسم الجدول" SetCoulmin = "اسم العمود في الجدول الذي يحتوي على المفتاح الرئيسي" SetValue = "حقل العيار الذي يحتوي على المفتاح الرئيسي في النموذج" Set rs = CurrentDb.OpenRecordset("SELECT * FROM " & SerTb & " where [" & SetCoulmin & "] Like '" & SetValue & "'") rs.Delete MsgBox "تم حذف السجل بنجاح", vbInformation + vbMsgBoxRight, "تأكيد" errorhandleexit: Exit Sub errorhandle: MsgBox Err.Description Resume errorhandleexit
    2 points
  5. السلام عليكم ورحمة الله تعالى وبركاته الاكواد تعتمد على احد دوال ال 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 بيت ولا ادرى هل يعمل على باقى واختلاف نسخ الويندور ام لا انتظر الرد من حضراتكم بنتائج تجاربكم ووضع اقتراحاتكم
    1 point
  6. تم تعديل المرفق ليسهل الاحتفاظ ببيانات جوجل داخل جدول وذلك لاضفاء المرونة فى حالة اردتم تغيير بيانات جوجل ببريد اخر او تغيير اسم النسخة التى نريد رفعها او كلمة المرور بسهولة كذلك تم حمل الملفات المقدمة من قبل دكتور حسانين @SEMO.Pa3x داخل قاعدة البيانات لعدم فقدها ممكن عمل تشفير لبيانات جوجل داخل الجدول لمن يريد GoogleDriveUploader.zip
    1 point
  7. تفضل اخي الكريم . الدائن والمدين.rar
    1 point
  8. حركة خزينة الإدارة العامة 2022-2023 (1).xlsx تمام كدة
    1 point
  9. تعلمت من هذا المنتدى الكثير وتمكنت من عمل هذا البرنامج اتمنة عقود.rarانو يحوز رضاكم
    1 point
  10. طيب وليه كل ده اضف الحقول الاتية فى الجدول الرئيسي منقطع - مفصول - موقوف على ان تكون من النوع Yes/No منقطع = yes مفصول = yes موقوف = yes وسوى استعلام ومرر اليه القيمى المعلمه ليقوم بعمل الفلتر تبعا للحالة الممرة او الابسط سوى عدد استعلامات تبعا لعدد الحالات وفى المعيار اختر حقل الفتر yes تبعا لكل حالة الموضوع ابسط من البساطة
    1 point
  11. وبخصوص العام الماضى والذى لا ادرى عنه ولا اعلم طلما تعامل الله فى اخوانك وفى نفسك أعرض عمن اساء اليك ولا تعر لكلماته اى اهتمام وانا دائما اذكر نفسي بتلك الكلمات عندما احس بإساءة حتى الجم نفسي واهدئ اعصابى و حتى لا يتغلب على الشيطان او هوى نفسى وهواناها لأقابل اى اساءة بمثلها 👇 كن في الحياة كشآرب القهوة !.. يستمتع بهــا رغم سوآدها ومرآرتهآ وتذكر قول الخشب للمسمار: لقد كسرتني وألمتني فرد المسمار قائلاً : لو كنت رأيت الدق فوق رآسي لكنت عذرتني فليعذر النآس بعضهم البعض فكل شخص لآيعرف ظروف الآخر إذآ إستمريت بـ هذه الحسآسية الزآئدة . . والحزن علي كل تصرف , فـ إنك ستحوّل حيآتك إلي جحيم ! تذكَر .. أن النآس تختلف في تفكيرهآ وطبآعهآ فما ترآه أنت جآرحاً .... قد يرآه غيرك أمراً تآفهاً هنآك موآقف مؤلمة قد تتعرض لهآ ولكن , إلي متي تجتر الموقف وتقف عليه ! إن أصآبك الألم ! عشه في لحظته .. ثم تجآوزه وكآفح من أجل تجاهله أشغل نفسك .. تنآسآه حتي يغيب عن ذآكرتك ! إحفظ لسانك أيها الإنسان لا يلدغـنـّك .. إنه ثعبان فكم في المقابرمن قتيل لسانه كانت تهاب لقاءه الشجعان وإذا حار أمرك في معنيين ولم تدرِ أين الخطا والصواب فخالف هواك فإن الهوى يقود النفوس إلى ما يعاب ولا تحاسب النآس عندما يخطئوآ ولا تذهب لغيرهم لتشكوا منهم .. لسانك لا تذكر به عورة امرئ فكلك عـورات وللــناس ألـســــــن وعينك إن أبدت إليك من الناس مساوءً فقل يا عيني للنـاس كذلك أعين واقضى حاجة المحتاج حتى لو كان اليك مسيئاً فأفضل الناس مابين الورى رجل تقضى على يده للناس حاجات لا تمنعن يد المعروف عن أحد ما دمت مقتدرا فالسعد تارات واشكر فضائل صنع الله إذ جعلت إليك لا لك عند الناس حاجات مهما إختفت من حياتك أمور ظننت أنها سبب سعادتك ! تأكد أن اللـه صرفها عنك قبل ان تكون سبباً في تعاستك عليك بتقوي الله ان كنت غافلاً أنظر لحالك كيف تعصاه ويأتيك بالارزاق من حيث لا تدري فكيف تخاف الفقر والله رازقاً فقد رزق الطير و الحوت في البحر و من ظن ان الرزق يأتي بقوة ما اكل العصفور شيئاً مع النسر تزول عن الدنيا فانك لا تدري اذا جنّ عليك الليل هل تعيش الي الفجر فكم من صحيح مات من غير علة و كم من سقيم عاش حيناً من الدهر وكم من فتي امسي و اصبح ضاحكاً وأكفانه في الغيب تنسج وهو لا يدري فمن عاش الفاً و الفيـــــــــــــن فلا بد من يوم يسير الـــــي القبـــــــــــر صافح وسامح .. ودع الخلق للخالق .. {فأنت****** .. وهم****** ..ونحن****** .. كلنا راحلوون إفعل الخير مهما استصغرته .. فلآ تدري أي حسنة تدخلك الجنة
    1 point
  12. احسنت فعلا طريقتك صحيحة شكرا على تعقيبك الجميل و المميز العفو استاذي الكبير عبداللطيف فهذا فضل الله عز وجل
    1 point
  13. عليكم السلام ورحمة الله وبركاته بالنسبة لدالة xlookup إن شاء الله يفيدك هذا الموضوع وبالنسبة لدالة ifs فلا أعتقد أنه تم إيجاد بديل لها غير دوال if المتداخلة بالتوفيق
    1 point
  14. يمكنك استعمال هذه المعادلة في K7 لطرح الأسهم =IF(C7<G7,24,0)+C7-G7 وهذه في L7 لطرح القراريط =IF(C7<G7,-1,0)+IF(D7<H7,24,0)+D7-H7 وهذه في M7 لطرح الأفدنة =IF(D7*24+C7<H7*24+G7,-1,0)+E7-I7 مع سحب المعادلات لأسفل بالتوفيق
    1 point
  15. ارجوا يكون المطلوب حركة خزينة الإدارة العامة 2022-2023.xlsx
    1 point
  16. كيفية اضافة معادلة البحث XLOOKUP لاوفيس 2019-2016-2013-2010-2007-2003 في الفيديو دة هاتقدر تشتغل وكأنك معاك اوفيس 365 XFunctions.7z
    1 point
  17. السلام عليكم تفضل المرفق خبور خير شكل وفرز.rar
    1 point
×
×
  • اضف...

Important Information