يا جماعة نفس المشكلة نقع فيها و لا أدري كيف ..
أنا أعرف أن الاستعلامات يجب أن تكتب بطريقة معينة و هي نمط التاريخ الانكليزي ..أما لماذا و كيف فلا أعرف ..فهل عند أحدكم الحل
يا جماعة نفس المشكلة نقع فيها و لا أدري كيف ..
أنا أعرف أن الاستعلامات يجب أن تكتب بطريقة معينة و هي نمط التاريخ الانكليزي ..أما لماذا و كيف فلا أعرف ..فهل عند أحدكم الحل
أخي الكريم أحمد الحربي
السلام عليكم
الحقيقة أنني عانيت معاناة شديدة في وجود بيانات مطابقة حتى أعرف الشروط التي يمكن أن تعرض بيانات وقد لاحظت أن التاريخ الافتراضي للقاعدة هو الميلادي وبناء عليه فقد قمت بتغيير تواريخ أيام العمل وجربت الخيار الثاني وهو بعد تحويل التاريخ المدخل إلى هجري باستخدام الدالة ثم البحث بالخيار الثاني وقد جاءت النتيجة إيجابية والمثال مرفق بعد التعديل
تحياتي
أخوك / أبو هاجر
اخي أبو هاجر
للأسف لم يعمل معي المثال وهذه بعض الملاحظات :
Syntax error
Call EnumDateFormats(AddressOf EnumCalendarDateProc, LCID, DATE_LONGDATE)
Method or data member not found
thisCombo.AddItem StringFromPointer(lpDateFormatString)
مع تحيات أخيك أبو هادي
أخي الكريم أبا هادي
السلام عليكم
المثال يعمل بشكل جيد على أكسس 2000 وأكسس إكس بي لكنه لا يعمل على أكسس 97 بسبب عدم دعم المعامل AddressOf في الـ VBA الخاصة بأوفيس 97
مرفق المثال بتنسق أكسس 97 بعد التعديل عليه مع أنه يحتاج إلى تعديلات أخرى لكنني أجريت التعديلات الضرورية بشكل سريع والمهم هو القدرة على تغيير تنسيق التاريخ الطويل للنظام
تحياتي
أخوك / أبو هاجر
أخي أبا هاجر
تخزين التاريخ على هيئة هجري .. هذا لا إشكال فيه وعملك صحيح
ولكن أنا أخزن التاريخ في القاعدة بعد تحويله إلى الميلادي هروباً من 30/12 الذي لا يقبله أكسس ويحوله إلى 1/1
أنا أريد أن أستعلم عن تاريخ ميلادي مخزن في الجدول
تحياتي لك .. والله تعبناك .. والله يعطيك الأجر ويعطيك الصبر
أخي الكريم
السلام عليكم
التاريخ في المثال ميلادي كما أردت ولم أغير فيه كل ما فعلت هو أن المستخدم يقوم بإدخال تاريخ هجري ثم يتم تحويله إلى ميلادي والاستعلام به ويبقى التخزين بالميلادي
تحياتي
مشاركة لزيادة الفائدة (بعد إذن استاذنا ابو هاجر)
أخي أحمد
1- اعتمدت في القاعدة التاريخ الهجري ثم في الجدول tblPersonal أدخلت التاريخ الميلادي، وهنا فإن الجهاز عامله على أنه تاريخ هجري، يعني عام 2003هـ وليس م. ولهذا لما غير تقويم القاعدة إلى الميلادي تحول إلى عام 2564 م الذي يقابل 2003 هـ .
وهذا ما أظنه أساس المشكلة عندك وقد صححه أبو هاجر كما ستلاحظ
2- إذا اعتمدت التاريخ الميلادي وخزنت التاريخ الميلادي فأنت في البحث بين أمرين :
الأول : أن تبحث مباشرة في الجدول ، وحينئذ عليك أن تبحث عن تاريخ ميلادي ، ولا يمكنك أن تبحث عن تاريخ هجري حتى تحوله إلى ميلادي .
الثاني : أن تبحث في استعلام تم تحويل التاريخ الميلادي فيه إلى تاريخ هجري ، وحينئذ عليك أن تبحث عن تاريخ هجري ، ولا يمكنك أن تبحث عن تاريخ ميلادي إلا بعد تحويله إلى تاريخ هجري .
طبعا يمكنك الجمع في الاستعلام بين التاريخين الهجري والميلادي ، والبحث بهما معا ، لكن لماذا ؟
3- اقتراح : لا تشتت المستخدم ، ففي الغالب المستخدم إما أن يتعامل مع التاريخ الميلادي فقط ، أو يتعامل مع التاريخ الهجري فقط ، ولا حاجة له أن يبحث أو يعرض التاريخ بالشكل الآخر .....طبعا هذه وجهة نظر أظنها تنطبق على أغلب البرامج .
4- سؤال : هل لما اعتمدت التاريخ الميلادي حلت مشكلة 30/12 ، أعني أن الظاهر أنك تريد عرض التاريخ الهجري ، فهل ستتمكن من عرض تاريخ 30/12 .
الأستاذان الكريمان / أبا هاجر وحارث
بارك الله فيكما
فعلاً حين أزلت علامة استخدام التاريخ الهجري من بدء تشغيل استعلمت بالتاريخ الميلادي بالخيار الثاني في المثال وكل شيء تمام
عندما استخدمت فكرة تخزين التاريخ الهجري بعد تحويله إلى ميلادي كان همي الأول قبول 30/12/1424 وفعلاً نجحت الطريقة وقبلها بعد تحويلها إلى 2004/02/21 .. وما إن أخذت ألتقط بعضاً من أنفاسي حتى جاءت المشكلة الثانية والتي تفضلتم بحلها وشرحها .. ثما عدت مرة أخرى لألتقط ما تبقى لي من نفس فإذا التاريخ لا يعرض 30/12/1424
و كما قال الأستاذ حارث لم أتمكن من عرضها 30/12/1424 وإنما تعرض 01/01/1425 فما هو الحل
والله تعبت مع هذا البرنامج كله بسبب التاريخ .. أظن ما بقي إلا أن أستخدم التاريخ بنوع (نص) ثم الاستعلام عنه بعد تحويله إلى تاريخ .. وش رايكم
شكراً لك أخي أبي هاجر على ما بذلته من جهد ونصح
شكراً لك أخي حارث على التوضيح الرائع
حلول متعددة :
انظر قسم المشاريع الجماعية و الدروس > خلاصة حول تقويم أم القرى
http://www.arabteam2000.com/vb/showthread....&threadid=17151
أخي الكريم أبو هاجر
أنا عاجز عن شكرك فأفضالك وسمينك الوافر طال الجميع جعله الله في ميزان حسناتك وأكرمك الله بالجنة .
اقتباسالمثال يعمل بشكل جيد على أكسس 2000
لقد قمت بتجربة المثال السابق على أكسس 2000 ولما واجهت المشاكل حولته إلى 97 وتكررت نفس الرسائل .. هذا للعلم فقط .
اقتباسوقد طلبت ما طلبت لوقوعي في نفس مشكلة الأخ أحمد الحربي .
قصدت في المشكلة هذه مشكلة التواريخ عند توريدها للبرنامج وتكررت معي كثيرا وهي بعيدة كل البعد عن التواريخ الهجرية أو أي تنسيق غير التاريخ ، حيث يقوم الأكسس بالتبديل بين اليوم والشهر بناء على تنسيق النظام . وقد أضعت وقتا كثيرا لتفادي هذا الموضوع ( منذ سنتين تقريبا ) وكان الحل الأسهل بالنسبة لي وقتها هو إجبار كل المستخدمين في الشركة على استخدام تنسيق موحد للتاريخ وأن يقوم الأكسس بتنبيه المستخدم وعدم السماح له بالدخول للبرنامج ما لم يقوم بتبديل التنسيق للكيفية التي أستخدمها في برامج الأكسس .
تحياتي للجميع
أخي الكريم أبا هادي
السلام عليكم
الحقيقة أنني مستغرب أشد الاستغراب وهذه اللحظة قمت بتنزيل البرنامج من المنتدى مباشرة وجربته على كل من أكسس إكس بي وأكسس 2000 فعمل بشكل جيد
استبعد أن تكون المشكلة في اختلاف نظام التشغيل ، علماً بأن نظام التشغيل لدي هو إكس بي ، فما هو نظام التشغيل لديك
تحياتي
أخوك / أبو هاجر
أخي أبو هاجر
نظام التشغيل لدي هو 98 .
تحياتي لك .
أخي الكريم أبا هادي
السلام عليكم
حسناً يوم السبت ـ بإذن الله ـ سوف أجرب البرنامج على نظام التشغيل 98 وأخبرك بالنتيجة
لكن ما أخبار البرنامج بعد التعديل
تحياتي
أخوك / أبو هاجر
أخي الفاضل أبو هاجر
البرنامج بعد التعديل يعمل بشكل ممتاز .
شكرا لك .
مع تحياتي .
الأستاذان أبا هاجر وحارث
أبشركما أن البرنامج يعمل بشكل ممتاز ولكما الفضل في ذلك ..
وأما عن طريقة عرض 30/12 فإني جعلته يعرضها من خلال عبارة SELECT CASE
بحيث إذا كان التاريخ المدخل ميلادي يوافق 1/1/1425 فإنه يضع بدلاً عنه 30/12/1424 وأدخلت عدة تواريخ بدءاً من 30/12/1425 إلى 30/12/1433 وكل تاريخ يغيره أكسس إلى 1/1 جعلت بدلاً عنه 30/12
ما رأيكما في هذا الحل
على فكرة لي طلب وهو توضيح المشكلة باختصار ولا عليكم أمر بالنسبة لتقويم أم القرى
فهل مشكلته فقط في 30/12 أم شيء آخر
تحياتي لكما
ليست مشكلة ام القرى فقط في تواريخ نهاية السنة ، بل أكثر من ذلك :
فهناك مشكلة نهايات الأشهر بشكل عام ، ولنأخذ مثلا عام 1423
شهر 1وشهر 3وشهر 5وشهر 8وشهر 10 وشهر 12 كلها أشهر تامة حسب تقويم أم القرى ، فهل ستستطيع عرض تاريخ 30 منها كلها ، بالتأكيد لا .
وهناك مشكلة عدم التوافق مع الأيام ، يعني يوم 1/9/1423 في أم القرى هو يوم الأربعاء ، لكن حسب تقويم الهجري في الويندوز هو يوم الثلاثاء .
للاستزادة وبعض الحلول انظر الرابط :
قسم الدروس العملية وتطبيقاتها > خلاصة حول تقويم أم القرى
http://www.arabteam2000.com/vb/showthread....&threadid=17151
على فكرة حول استخدام OR في عبارة SQL مع ADO أو DAO لم تنجح معي إذا كان المتغيرين من نوع long ففي المثال السابق كانا من نوع string فما هو العمل إذا كان المتغيران رقمين من نوع long
أرجوا كتابة كود يوضح ذلك ولكما تحياتي
هذا الموضوع مغلق.