الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أتعامل مع الرقم على أنه تاريخ ؟

بدأه helmy_foad في 7 يوليو 2010 · 2 رد · 620 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندى مشكلة بسيطة

فى عملى لدينا قاعدة بيانات اوراكل و تطبيقات تعمل عليها

لا يوجد لدينا دعم فنى للبرامج ، و مصدر البرنامج الأصلى غير متوفر للتعديل عليه

و قمت بعمل بعض البرامج بالأكسيس للإستعلام عن البيانات المختلفة ، و إستخراج بعض التقارير التى لا يوفرها التطبيق المستخدم ، بإستخدام ال ODBC

و تعمل بكفاءة لكن تواجهنى مشكلة بسيطة

التواريخ فى الجداول الأصلية الخاصة بقاعدة بيانات أوراكل توضع فى حقول (أرقام ، Numbers ) و ليست DATE/TIME كما فى الأكسيس

يعنى تاريخ اليوم سوف يكون على هيئة 201007070

طبعاً المستخدمون يواجهون مشاكل فى كتابة التاريخ بهذة الطريقة فى ال text box فأحياناً ينسون صفر أو أكثر و كما قلت هى أغلبها تكون فى حالات إستعلام أو تقارير ، أى أننى لا أستخدم النماذج لإدخال البيانات بل لإستخراجها

فإذا أردنا الإستعلام عن حدث فى تاريخ معين نكتب الرقم فى حقل غير مرتبط ، و نشغل الإستعلام ( الذى يأخذ قيمة هذا الحقل الغير مرتبط ) عن طريق نموذج لكى يعطينا البيانات المطلوبة

و فى التقارير أيضاً نفس الشئ ، لكن التواريخ فى التقارير يكون شكلها سئ جداً و هى بصيغة رقمية

هل هناك حل لكتابة التاريخ على هيئة تاريخ 2010/07/07 أو 2010/7/7 ثم يتحول تلقائياً فى الإستعلام إلى الصيغة الرقمية العادية لكى يتعرف علية الإستعلام و يستدعى البيانات الصحية من الجداول

و كذلك التواريخ التى يتم إستدعاؤها فى التقارير على هيئة رقم ، كيف اجعلها تظهر على هيئة تاريخ ؟

مع الأخذ فى الإعتبار أنه من غير المسموح التعديل فى قاعدة البيانات الأصلية و جعل الأرقام على هيئة تواريخ ، لان ذلك لن يجعل التطبيقات الأصلية تعمل

هل هناك حل لهذة المشكلة ؟

و شكراً

#2

وعليكم السلام ورحمة الله

يمكنك ذلك باستخدام التوابع التالية : Right , Left , Mid

فيكون استعلامك كالتالي مثلا :

Select * from Tablename where Tablename.date = (Left([Forms]![Formname]![Text0],4) & Mid([Forms]![Formname]![Text0],6,2) & Right([Forms]![Formname]![Text0],2));

حيث تقوم الدالة Left باقتطاع أول اربعة أرقام من الدخل (أي الذي تم ادخاله في الـ Textbox المسمى Text0) وهي رقم السنة

ثم سنتجاوز المحرف الخامس لتبدء الدالة MID الاقتطاع من المحرف السادس و تقتطع رقمين و هما الشهر

و الدالة Right تقوم باقتطاع أول محرفين من اليمين و بذلك نحصل على رقم اليوم من الشهر

و بذلك نكون قد تجاهلنا المحارف الفاصلة بين الارقام

بتوفيق الله

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 7 يوليو 2010 في 22:17

Everything will be fine when we TALK LESS, DO MORE


#3

الأخ الكريم

ضع الكود التالي في استعلام واستبدل اسم الحقل datee كما هو موجود عندك

Format([datee];"0\/00\/00")

وانظر النتيجة

أبومحمد

Date.rar

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…