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

عبدالله سليمان

02 الأعضاء
  • Posts

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

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

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

  1. شوف أخوي أنا أذكر أنه مر بي موضوع مشابه ، والحل : يكون عبر تمرير اسم المستخدم وكلمة المرور بنفس كود فتح قاعدة البيانات التي تحتوي على الجداول .
  2. الاصدار الذي استخدمه هو Access 2002 في الكود خطأ ، وهو تقسيم الراتب على 31 يوماً وبعض الأشهر أقل من ذلك . ثم الأفضل جعل القيمة الأفتراضية لزر الخيار 1 إيضا استخدمت ( \ ) للقسمة وهي تعيد ناتج القسمة بدون كسور ، لهذا يجب استخدام ( / ) بدلاً عنها . شكلك تبي تاكل رواتب الموظفين :d وتجد بالمرفقات قاعدة البيانات بعد تعديلها وتحويلها إلى Access 97 وبالتوفيق . Copy of db2_97.zip
  3. ومع أني لم أحاول فهم البرنامج فتجد في المرفقات المثال بعد تعديل الكود والذي اعتقد أنه بالامكان اختصاره كثيراً عبر اسناد مربعات الخيار إلى متحول ثم إنشاء حلقة بعدد المربعات . حاولت عمل ذلك ولم أستطع . وبالتوفيق . Copy of db2.rar
  4. الأخ / أبو سليمان سأراجع الكود مرة أخرى حسب أقتراحاتكم الأخيرة ، وشيء طيب أن نصل إلى مرحلة التحسينات . فشكراً لك . الأخ / أبو هادي سأجرب التقويم بعد التعديل ووأفيك وبقية القراء بالنتيجة قريباً إن شاء الله . وشكراً لك على اهتمامك بهذا التقويم . أخيراً أود أن أوضح أن الدوال التحويلية والدوال التاريخية لتقويم أم القرى مهم جداً لكل من يريد برمجة قاعدة بيانات وهو مقيم في السعودية بسبب اعتماد هذا التقويم في المعاملات الرسمية وغير الرسمية . وقد أصبحت سهلة الاستخدام ، وسأطرح شرح بسيط لعملها قريباً إن شاء الله .
  5. الأخ / Dragon X طبعاً لن يعمل الكود بشكل صحيح لأنه مع تحقق أي شرط في البداية سيخرج من العبارة الشرطية . على كل بإمكانك استخدام العبارة الشرطية بهذا الشكل : If s1s = False Then DX = SX - AX If s2s = False Then DX = SX - AX
  6. تأكد من استخدامك لرأس وتذييل الصفحة وليس رأس وتذييل التقرير ولعرض رأس وتذييل الصفحة استخدم قائمة عرض عند تصميم التقرير .
  7. فعلاً هو كما قلت فعند تحويل تقويم قاعدة البيانات إلى التقويم الهجري لم تعطي دوال أم القرى التحويلية المبرمجة من قبلكم نتائج . وبرفقه مثال للدوال التاريخية لتقويم أم القرى بعد إجراء العديد من التعديلات حسب اقتراحكم واقتراح الأخ / أبو سليمان . وقد جرى تعديل في دالة DateDiff حيث اختصرت كثيراً . وتصحيح الخطأ في حساب ربع السنة . كما جرى تعديل دوال قبل وبعد التحديث لحقل التاريخ بحيث لاتتوقف عن العمل عندما يكون الحقل في نموذج فرعي الملفات المرفقة دوال تاريخ أم القرى.rar ( 69.87ك ) عدد مرات التنزيل: 37
  8. تسلم أخوي أبو سليمان على هذه الملاحظات والاقتراحات وزادك الله علماً وتقوى ... وسأحاول قريباً إن شاء الله وضع المثال بعد تعديل الكود ولكن الوقت لايسعفني خلال أيام العمل الرسمية .
  9. الأخ أبو هادي : ألا يمكن الاكتفاء بدوال أم القرى التحويلة عن استخدام Calendar vbCalHijri مع استخدام التقويم الميلادي في قاعدة البيانات ومنع المتسخدم من تعديله وتخزين تاريخ أم القرى كنص في قاعدة البيانات . الأخ أبو سليمان فعلاً أنا أكنى بأبي سليمان أيضاً . وشكراً على التنويه .. علماً بأن دالة : DateSerial2 التي قمت أنا بإعدادها توجد بها مشاكل عندما تكون الوسائط الممرة صفر أو عدد سالب . كما أن دالة أبو هادي تتوقف عن العمل عندما يكون عدد السنوات الممر كبيراً جداً وهذا لايحصل في الواقع العملي . لذلك فقد قمت باستبدالها بدالة الأخ أبو هادي . ولا يخفى أن تقويم أم القرى المعد من الأخ / أبو هادي محصور بين عامي 1300 و 1450 . وأشكرك على التعديلات التي اختصرت الكود وسأضيفها إلى المثال بعد تعديله ، ودائماً أفضل اختصار الكود ما أمكن ذلك . كما أرجو منك ومن الأخ أبو هادي إلقاء نظرة على بقية الدوال وخاصة الدالة DateDiff . وأرجو منكما أيضاً ومن بقية المهتمين بتقويم أم القرى الإطلاع على هذا الرابط : http://www.fahrasi.com/salrash.html و
  10. الأخ / أبو هادي لقد جربت الدالة وعملت بشكل صحيح (y) ، وإن جاء التاريخ بتنسيق عكسي ( من اليسار لليمين ) . وقد أضفت الدالة إلى المثال الذي قمت بإعداده بشكل منفصل . والصراحة الكود ما شاء الله عليك جاي مرتب ، فيا ليت تشوف لنا باقي الدوال التاريخية . المثال بعد الإضافة موجود في الملف الملحق . وشكراً للأخوة المشرفين في المنتدى :d الملفات المرفقة دوال_تقويم_أم_القرى.zip ( 81.24ك ) عدد مرات التنزيل: 130
  11. تسلم أخوي أبو هادي ، وتوقعت أنك ما تخلينا خاصة وأنت أكثر الأخوان معرفة في برمجة تقويم أم القرى نسأل الله أن يكتب لك أجر ما بذلته من جهود في سبيل برمجة هذا التقويم لقواعد بيانات الاكسس . لكني لم أفهم ما تقصده بعبارة ( أن كل دوال أم القرى عند تصميمها لم يراعى فيها قواعد البيانات التي تستخدم التقويم الهجري ) أرجو إيضاح المقصود حتى لانقع في المحذور لأني سأستخدم هذه الدوال في قاعدة بيانات مهمة ، وسأجرب الكود الذي وضعته . أخيراً أرجو أن تتطلع أنت والأخ / أبو سليمان وبقية المهتمين بالموضوع على المثال الموجود على الرابط أدناه : مثال دوال أم القرى ، يجب تحويل ملحق الملف من txt إلى zip
  12. الأخ / أبو سليمان إذا لم اتمكن من إرفاق الملف في المنتدى ، فسأرسل لك المثال عبر البريد الالكتروني - إن أمكن ذلك - إن شاء الله . لقد تم الانتهاء من برمجة الدالة DateAdd بالكود التالي : Public Function DateAdd2(interval, add, date_um As String) As String Dim da2 As String da2 = Test(date_um) If da2 = "" Then Exit Function add = Nz(add) Select Case interval Case "yyyy" DateAdd2 = DateSerial2((CLng(Left(da2, 4))) + add, Mid(da2, 6, 2), Right(da2, 2)) Case "q" add = add * 4 DateAdd2 = DateSerial2(Left(da2, 4), (CLng(Mid(da2, 6, 2))) + add, Right(da2, 2)) Case "m" DateAdd2 = DateSerial2(Left(da2, 4), (CLng(Mid(da2, 6, 2))) + add, Right(da2, 2)) Case "d" DateAdd2 = DateSerial2(Left(da2, 4), Mid(da2, 6, 2), (CLng(Right(da2, 2)) + add)) Case "ww" add = add * 7 DateAdd2 = DateSerial2(Left(da2, 4), Mid(da2, 6, 2), CLng(Right(da2, 2) + add)) End Select End Function طبعاً الكود البرمجي ما هو بزي اللي يسويه المحترفين ، بس إن شاء الله يؤدي الغرض بكفأة . وبقي برمجة الدالة DateDiff ، وجاري العمل عليها .
  13. تم برمجة الدالة : DateSerial2 بالكود التالي : Public Function DateSerial2(Y_UM, M_UM, D_UM) As String Dim da As Date Dim da2 As String Dim M_UM2 Dim D_UM2 Dim DATE2 da2 = Test(Y_UM & " " & M_UM & " " & D_UM) If da2 <> "" Then DateSerial2 = da2 Exit Function End If 'حساب الشهور وإضافة سنة إن لزم If M_UM > 12 Then M_UM2 = M_UM M_UM = Int(M_UM / 12) M_UM2 = M_UM2 - (M_UM * 12) If M_UM2 = 0 Then M_UM2 = 12 M_UM = M_UM - 1 End If Y_UM = Y_UM + M_UM M_UM = M_UM2 da2 = Test(Y_UM & " " & M_UM & " " & D_UM) If da2 <> "" Then DateSerial2 = da2 Exit Function End If End If If D_UM > 29 Then da = CDate(Um2Greg(29, M_UM, Y_UM)) D_UM2 = D_UM - 29 da = DateSerial(Year(da), Month(da), Day(da) + D_UM2) DATE2 = Greg2Um(Day(da), Month(da), Year(da)) DateSerial2 = Format((Year(DATE2)), "0000") & "/" & _ Format((Month(DATE2)), "00") & "/" & Format((Day(DATE2)), "00") End If End Function وبقي برمجة الدالتين : الدالة الأولى : DateAdd الدالة الثانية : DateDiff علماً أنه في قاعدة البيانات يتم تخزين تاريخ أم القرى كنص ولايتم تخزين التاريخ الميلادي . المثال موجود على الرابط التالي : دوال تاريخ أم القرى
  14. تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى عند عملي على الدوال التحويلية الخاصة بتقويم أم القرى المعد من الأخوين أبو هادي وحارث . خطر على بالي فكرة ستكون بإذن الله حلاً لمشاكل تاريخ أم القرى مع الدوال التاريخية في الأكسس والتي لاتعطي نتائج صحيحة . والفكرة باختصار هي عمل دوال تاريخية خاصة بتقويم أم القرى بنفس اسم الدوال التاريخية في الاكسس مع إضافة رقم (2) للاسم ، وبنفس الوسائط والوظائف . ولله الحمد جرى إعداد الدوال التالية ( Date() – Day() – Month() – Year() - CDate – Weekday ) ( يوجد مثال لم أتمكن من إرفاقه ) . إلا أنني لم أتمكن من إكمال الفكرة ووقفت عاجزاً أمام أهم دالتين تاريخيتين وهما : الدالة الأولى : DateAdd الدالة الثانية : DateDiff وهما وإن كان قد يتبادر إلى ذهن البعض سهولة برمجتهما عبر تحويل التاريخ إلى تاريخ ميلادي واستخدامها ثم تحويل الناتج إلى تاريخ أم القرى فإن هذا وإن كان قد يعطي نتائج صحيحة في بعض الحالات مثل الفرق بين تاريخين بالأيام فإنه لن يعطي نتائج صحيحة في بقية الحالات . وقد تبين لي أن مايكروسوفت في الاكسل تستخدم ( التاريخ كأرقام من متسلسلة متتالية حتى يمكن استخدامها في العمليات الحسابية. افتراضياً, يكون 1-1- 1900 هو رقم تسلسلي من 1, وتاريخ 1-1- 2008 هو رقم تسلسلي من 39448 لأنه يوجد 39,448 يوم بعد 1 يناير، 1900) أرجو من المبرمجين المحترفين في المنتدى المساعدة في إعداد هاتين الدالتين لتقويم أم القرى لأهميتهما الشديدة ( خاصة دالة DateDiff ) .
  15. شكراً للجميع وللأخ أحمد الحربي خصوصاً وفعلاً هذا هو الكود المطلوب . وكنت قبل فترة وجدت ماكرو لشركة مايكروسفت يقوم بالمهمة المطلوبة ، وقد نسيت هذا الموضوع .
  16. أشكرك لكما محاولتكما . ومع ذلك فإني لازلت أعتقد بوجود حل إلا أن تفيد ميكروسوفت بأن هذا غير ممكن .
  17. من المعروف أنه يمكن نقل الماكروات والأنماط والنص التلقائي وأشرطة الأدوات عن طريق : أدوات - قوالب ووظائف إضافية - تنظيم ولكن كيف يمكن نقل اختصارات التصحيح التلقائي
×
×
  • اضف...

Important Information