
أبو هادي
المشرفين السابقين-
Posts
1092 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أبو هادي
-
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبو هادي replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم الأخ أبوسليمان .. أعتقد أن اختصار دوال تبديل التقويم وتخزينه بها ثغرة ، آمل الإطلاع : Sub AnotherSub() GregCal ' ' ReCurrCal End Sub Sub TestSaveCal() GregCal ' ' HijriCal ' ' Call AnotherSub '-- المشكلة تبدأ من هنا '-- في هذه المساحة تبدل التقويم من الهجري إلى الميلادي '-- والمفترض أن يبقى هجريا ReCurrCal End Sub تحياتي . -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبو هادي replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم جزاك الله خيرا أخي أبوسليمان على جهودك . وهذه بعض الأكواد بما يجب عليها أن تكون بعد اقتراحاتك وتطويع الكود ليكون مستخدما في كل تطبيقات الـ VB و الـ VBA وخصوصا الأكسل بالإصدارات القديمة والحديثة معا . دالة الاحتفاظ بتقويم النظام بعد إضافة أمر طلب تحميل التقويم . Public Sub SaveCurrCal() If DoCurrCal Then Exit Sub CurrCal = Calendar DoCurrCal = True Call LoadUmAlQura_Code End Sub دالة الحصول على إسم الشهر تم تعديلها حتى يتمكن مستخدمي النسخ القديمة الإستفادة منها حيث أمر دالة MonthName مستحدثة في الاصدار الأخير فقط . Public Function MonthName2(da As Byte) As String If da < 1 Or da > 12 Then Exit Function HijriCal MonthName2 = Format(DateSerial(Year(Date), da, 1), "mmm") ReCurrCal End Function بديل لدالة Nz حيث لا توجد في الأكسل وقد يحرمون من الإستفادة من التقويم بسببها . Private Function myNz(ByVal InValue, Optional ByVal ValueIfNull = Null) myNz = IIf(IsNull(InValue), IIf(IsNull(ValueIfNull), Empty, ValueIfNull), InValue) End Function تحياتي . -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبو هادي replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم أخي عبدالله سليمان .. لقد كتبت دالة Dateserial فقط ليكون عينة نموذجية للتعامل مع تقويم أم القرى على شكله الحالي . وكما هو واضح فأنت متمكن من كتابة الكود ويمكنك عمل ما شئت كما كان سابقا أخي العزيز الفاضل حارث حيث عمل كثير من الدوال المساندة لتقويم أم القرى . الحقيقة أني دائما استخدم التقويم الميلادي وأقوم بكتابة كل الأكواد في بيئة هذا التقويم دون إي اعتبار لاستخدام التقويم الهجري من قبل الآخرين . وحيث لا يخفى عليكم أن نتائج كثير من دوال التاريخ ستعطي نتائج حسب التقويم المستخدم فمثلا دالة Year لو استخدمت لتاريخ اليوم فستعطي للميلادي 2004 وللهجري 1425 ، عليه فأني أنصح باستخدام التالي للإحتراز : Call LoadUmAlQura_Code CurrCal = Calendar Calendar = vbCalGreg '-- البداية من هنا ' ' '-- النهاية Calendar = CurrCal يمكن استخدام دالة Hijri_Arabic للتنسيق العربي ( يمين إلى اليسار ) . أعجبني كثيرا استغلالك الحميد للكود المستخدم في دالة Test حيث مهمتها الآن مطلوبة بقوة بعد ان كانت فقط لفحص المدخلات عن طريق صناديق النصوص . تحياتي . -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبو هادي replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم هذه دالة DateSerial بدقة 100% تحتاج إلى اختباراتكم . طبعا اكتشفت قبل فترة بسيطة أن كل دوال أم القرى عند تصميمها لم يراعى فيها قواعد البيانات التي تستخدم التقويم الهجري وبذلك سأقوم في المستقبل القريب بعمل تنقيحات لحل هذه المشكلة إن شاء الله تكون الأخيرة . Public Function DateSerial2(ByVal yy As Integer, _ ByVal mm As Integer, _ ByVal dd As Integer) As Variant Dim GregDate As Long Dim Days As Long Dim CurrCal As Byte Call LoadUmAlQura_Code DateSerial2 = Null CurrCal = Calendar Calendar = vbCalHijri Days = DateSerial(yy, mm, dd) If Year(Days - 0) < LBound(UmAll) Or _ Year(Days + 1) > UBound(UmAll) Then Calendar = CurrCal Exit Function End If Calendar = vbCalGreg Do While mm < 1: mm = mm + 12: yy = yy - 1: Loop Do While mm > 12: mm = mm - 12: yy = yy + 1: Loop GregDate = Nz(Um2Greg(1, mm, yy)) + dd - 1 dd = Day(GregDate) mm = Month(GregDate) yy = Year(GregDate) If Not IsNull(Greg2Um(dd, mm, yy)) Then 'DateSerial2 = GregDate '-- لإعادة السيريال كرقم --' DateSerial2 = Greg2Um(dd, mm, yy) '-- لإعادة السيريال كنص --' End If Calendar = CurrCal End Function تحياتي . -
إستيراد البيانات من الأكسيس الي الاكسيل بالكود
أبو هادي replied to محمد طاهر عرفه's topic in منتدى الاكسيل Excel
السلام عليكم شكرا لك أخي محمد على مجهوداتك المباركة . يوجد طريقة سهلة بعمل استعلام باتباع التالي : نختار الصفحة ثم نذهب إلى : Data Import External Data New Database Query Databses Ms Access Database OK ثم نختار قاعدة البيانات ثم الجدول ثم الحقول المطلوبة Next Next Next Finish OK انتهى ويمكن تحديث الصفحة كالتالي : Data Refresh Data أو عمل زر يحتوي على هذه الشفرة : Range("A1").Select Selection.QueryTable.Refresh BackgroundQuery:=False تحياتي . -
السلام عليكم الأخ خيول الفجر .. الحقيقة أنا ما فهمتك ، هل تريد البحث في بيانات جدول أو في تركيبة جدول ؟ أعتقد أنك تريد تبحث في حقل تاريخ وليس عنه ثم تحصل على بيانات السجل الذي يحتوي التاريخ المطلوب وليس معلومات عن الحقل . فهل هذا ما تريد ؟ تحياتي .
-
السلام عليكم أخي سهل احمد العريشي .. أعتذر منك كثيرا حيث لن أستطيع أن أفيدك في ما طلبت ، كما أقترح عليك أن تضع تساؤلك في موضوع مستقل فقد يكون مكان انتباه الأخوة الأعضاء الذين لن يقصروا معك ومع الجميع إن شاء الله . تحياتي .
-
شرح لكيفية نقل الوحدة النمطية من ملف الي اخر
أبو هادي replied to حسام نور's topic in منتدى الاكسيل Excel
السلام عليكم أخي Amgad .. هذه الرمزية كما سميتها توجد في غيرها تحت مسمى تنسيقات الكسر ، إبحث على مهلك وسترى الكثير . تحياتي . -
السلام عليكم نسخ الجداول بثلاث طرق بالكود باستخدام الأوامر التالية : CopyObject TransferDatabase RunSQL تحياتي . TransferDatabase.rar
-
شرح لكيفية نقل الوحدة النمطية من ملف الي اخر
أبو هادي replied to حسام نور's topic in منتدى الاكسيل Excel
السلام عليكم وليه العذاب هذا كله بس !! عندك بدل الدالة عشرة أو أكثر .. لماذا التمسك بهذه الدالة بحجة أنها أعجبتك ثم تشتكي من الأخطاء وتطلب تصحيحها !!. مع الإعتذار الشديد لكاتبها . تحياتي . -
السلام عليكم رابط ذو صلة : طريقة تطبيق تقويم أم القرى لأبي هادي تحياتي .
-
السلام عليكم يمكن فتح ملف أكسل مباشرة حسب التالي : Dim excelfile '-- لتحديد موقع ملف الأكسل المراد فتحه ChDir "C:\Documents and Settings\Windows\Desktop" excelfile = Shell("EXCEL.EXE Test.xls", 1) تحياتي .
-
السلام عليكم مرفق المثال بعد التعديل . تحياتي . abdullaha2191.rar
-
السلام عليكم أخي الفاضل ضع رابط للنسخة الحالية على شكلها الأخير ولنرى محاولتك التي لم تنجح ، أما الرابط السابق فهو للنسخة على شكلها القديم قبل التعديلات ، واسمح لي لن أستطيع أن أتعاون معك قبل أن تعمل على ما اقترحته عليك في النص المقتبس أعلاه . تحياتي .
-
ترتيب البيانات تصاعدياً وتنازليا عن طريق زرين امر
أبو هادي replied to مهند's topic in قسم الأكسيس Access
السلام عليكم مرفق مثال . تحياتي . OrderBy.rar -
السلام عليكم على نفس النمط .. أضف مربع تحرير وسرد للنموذج يحتوي على كل البيانات عن الموظف واجعله مخفيا وتعامل معه كما الفكرة السابقة . تحياتي .
-
السلام عليكم جرب هذا التعبير : Forms!form1![مربع_تحرير_وسرد10].Column (1) وتستطيع أن تبدل في رقم (1) الموجود بين قوسين والذي يمثل رقم العمود في القائمة حيث الأعمدة في القائمة تبدأ من صفر . تحياتي .
-
:م: كيف أجعل الماكرو يتحكم بتشغيل الاستعلامين؟
أبو هادي replied to khatab's topic in قسم الأكسيس Access
السلام عليكم لو أنك كتبت السؤالين في مشاركتين منفصلتين كان أفضل :( عموما ردا على السؤال الثاني تفحص هاتين الوصلتين : http://www.officena.net/ib/index.php?showt...745&hl=الباركود http://www.officena.net/ib/index.php?showt...897&hl=الباركود تحياتي . -
السلام عليكم أخي راعي الاولة .. بكل صراحة الأخ فتى الوادي له كل الحق فيما قال وفيما تصرف به ، وعليك اللوم في الحدة التي أنت فيها والتي لا داعي لها . أنت فقط شد حيلك فالمنتدى به دروس كبيرة والتي لو حاولت الإستفادة منها ستعمل مثل هذا البرنامج وقد يكون أفضل ، فقط ابدأ وسوف أساندك بما أستطيع . الأخ فتى الوادي .. ما شاء الله كل هذه البرامج . لكني لا أرى مشاركاتك بحجم هذه الأعمال . الحقيقة مو مقبول منك :d أتمنى أن نرى منك في الأيام المقبلة ما يرضي أخوانك أعضاء المنتدى وبالخصوص أخوك راعي الاولة . اسمحوا لي أن أعتبر هذا الموضوع مغلقا بعد هذه المشاركة . تحياتي .
-
السلام عليكم أنا نزلت البرنامج وأدخلت به عميل واحد وسداد واحد فقط وبدأت الفحص بعد ذلك وهذه مشاهداتي : 1- أدخلت المستحق 1000 وقمت بسداد خمسمائة ريال ، ثم قمت بمحاولة التعديل من قسم التعديل والحذف بتعديل السداد إلى 512 ريال فرفض البرنامج ! معتبرا أن التعديل سداد آخر وأنه تم تجاوز المبلغ المستحق ! 2 - بعد أن غيرت رأيي بالتعديل بتخفيض المبلغ إلى 412 ، حاولت فتح النموذج ومن ثم التقرير لمعرفة التفاصيل وتفاجأت أن المتبقي ( بالتفقيط ) بلغ بالملايين . بعدها لم أحاول المواصلة وقررت بعدها الخروج من البرنامج . طبعا لو كان مثالا في منتدانا لقبلنا هذه الأخطاء كونه مجرد مثال ولكنه كبرنامج يباع وهو ليس بذلك البرنامج الضخم حيث يمكن أن يحتوي على هفوات لم تظهر أثناء الفحص أو التجارب البسيطة . تحياتي .
-
السلام عليكم الأخ abdullah219 .. الحقيقة مثالك معقد :d وأنا الحقيقة ملتزم بمشروع وأود التفرغ له ومع ذلك أخي إذا استطعت تكملة النموذج أولا ثم تعبئة البيانات للأقساط وأن تعمل كشف بالأكسل لأحد الموظفين المدخلة بياناتهم ومن ثم إعادة رفعه للمنتدى فقد يسهل الموضوع ومن ثم يتحمس المتحمسون كذلك للتسابق في حل هذه المعضلة . تحياتي .
-
السلام عليكم أخي فهد .. هل هذه النتائج تظهر في نموذج الإجازات أم في النتيجة ؟ وماذا لو خرجت من القاعدة وفتحتها من جديد ، هل تبقى الأخطاء ؟ وماهو إصدار الأكسس لديك ؟ كما أنصح دائما في تغيير التقويم بالكود أن يعاد التقويم الأصل حتى لا تحصل مشاكل مع التواريخ والحل بالنسبة للكود كالتالي : Dim CurrentCal As Byte CurrentCal = Calendar Calendar = vbCalHijri Me!txtHD = Format(Date, "yyyy/mm/dd") Calendar = CurrentCal آمل الرد على تساؤلاتي وأن تجرب كذلك بعد تعد الكود . تحياتي .
-
السلام عليكم تم التعديل بالكود مع تنقيح أسماء المربعات . تحياتي . abdullah.rar
-
السلام عليكم تم التعديل . يرجى ملاحظة أني أبقيت على التقويم الميلادي فإن لم ترغب في بقائه فستضطر لإلغاء النتيجة حيث أنها لا تعمل بشكل صحيح مع التقويم الهجري . هناك مربع فحص لصحة البيانات أسفل النموذج ، فإذا لم يحتوي على علامة صح فأنه يعني وجود خطأ في البيانات كصحة التواريخ أو عدد الأيام ناتج طرح التاريخين . النقر على الحقل مرتين .. كلام صحيح اختيار التقويم .. غير صحيح لأن النتيجة تفتح على التقويم المختار . البحث عن اليوم المراد .. غير صحيح لأنك تستطيع كتابة التاريخ مباشرة أسفل النتيجة . تحياتي . تطبيق_التاريخ_الهجري.rar
-
السلام عليكم حياك الله أخي فهد لقد عملت لك التعديل المطلوب ولكن مع تبديل تقويم قاعدة البيانات من هجري إلى ميلادي . وسأترك لك البحث عن التعديلات . فقط هناك ملاحظة طلب النتيجة عن طريق النقر المزدوج على مربعات التواريخ . تحياتي . تطبيق_التاريخ_الهجري-.rar