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

ماالمشكلة في الاستعلام

بدأه ABO_ABDELRAHMAN في 17 أكتوبر 2011 · 6 رد · 515 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الافاضل :

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

مالمشكلة في المرفق :حيث ان الاستعلام لايفتح والمطلوب الفرق بين التاريخين

شكرا لكم

db3.rar

لاتأسفن علي غدر الزمان لطـــــالما رقصت علي حثث الأســـــود كلاب

لاتحسبن برقصها تعلو علي أسادها تبقي الأسود أسودا والكلاب كلاب

#2

اخي الفاضل : ابو عبدالرحمن

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

الإستعلام يعمل بشكل جيد وليس به اي مشكله

post-15367-051264000 1318880598_thumb.gi

ولكن لا يوجد سوى حقل واحد في الإستعلام

فكيف تريد تنفيذ الفرق بين تاريخين ، حيث من المفترض ان يكون لديك حقل آخر ، بحيث يكون الحقل الأول هو حقل البدايه والحقل الثاني هو حقل النهاية حتى يكون تنفيذ الفرق بين التاريخين بهذه الطريقة

DateDiff ("d"; [StartDate]; [EndDate])

اما اذا رغبت ان يكون تنفيذ الفرق بين التاريخ الموجود لديك في الحقل DateR وتاريخ اليوم فيكون بهذه الطريقة

DateDiff ("d"; [DateR]; Date())

بالتوفيق

المرفقات
QQ1.gif
#3

استاذتنا الفاضلة :زهرة

اشكرك علي التفضل بالاجابة ،واعتذر عن ارفاق ملف خاطئ

ارفقت الملف المطلوب ارجو من الاخوة التعديل

شكرا لكم

db2.rar

لاتأسفن علي غدر الزمان لطـــــالما رقصت علي حثث الأســـــود كلاب

لاتحسبن برقصها تعلو علي أسادها تبقي الأسود أسودا والكلاب كلاب

#4

اخي الفاضل : ابو عبدالرحمن

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

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

لهذا تم تعديل مثالك بإضافة جدول به حقل واحد وهو ADate ووضعنا به تاريخ 01/08/2011

الآن اعمل اي شيء تريده في الإستعلام وقم بتشغيله تجده يعمل معك بدون اي مشكله

db2-UP.rar

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 18 أكتوبر 2011 في 01:04

#5

اختي الفاضلة :زهرة

اشكرك مرة اخري علي الرد

انا اعلم انه يجب ان يكون هناك جدول يحتوي علي التاريخ

لكن المشكلة ان استقي التاريخ الثابت من جدولين مختلفين يحتويا علي اكثر من الف سجل وبالتالي سأضطر لتحويل الجدولين الي اكسيل واضافة حقل التاريخ،لذلك اردت ان يكون التاريخ داخل الاستعلام

ارجو ان كان طريقة سهلة لاضافة التاريخ الي الجدولين فلكي الشكر

لاتأسفن علي غدر الزمان لطـــــالما رقصت علي حثث الأســـــود كلاب

لاتحسبن برقصها تعلو علي أسادها تبقي الأسود أسودا والكلاب كلاب

#6

اخي الفاضل : ابو عبدالرحمن

بارك الله بك على التوضيح

الموضوع اسهل مما تتوقع فبواسطة قاعدة البيانات واستخدام الإستعلامات تستطيع عمل اي شيء ولا تحتاج لا برنامج اكسيل ولا غيره لهذا دعني اشرح لك الطريقة بالتفصيل :

1. الآن تقول ان لديك جدول او جدولين او عدة جداول وتريد ان تضيف لأحدهم او كلهم تاريخ معين ، اذان في هذه الحالة نلجأ الى استعلام اسمه ( استعلام تعريف البيانات ) وهذا الإستعلام يمكننا من انشاء حقول اضافية الى اي جدول نريده بهذه الطريقة :

ALTER TABLE [Table1] ADD ADate DateTime

شرح الجملة :

ALTER TABLE : معامل تعريف الجدول

[Table1] : اسم الجدول الذي تريد اضافة حقل جديد له

ADD : اضافه حقل جديد

ADate : اسم الحقل المراد اضافته في الجدول [Table1]

DateTime : نوع الحقل ( تاريخ / وقت )

اذاً كل ما علينا الآن هو انشاء استعلام فارغ بدون استخدام اي جدول ثم ننتقل مباشرة الى عرض SQL وسنجد بها كلمة SELECT نقوم بمسحها واستبدالها بالجملة السابقة التي تبدأ بـ ALTER

ثم نحفظ الإستعلام بإسم وليكن مثلا Q1_ADD ( هذا لإستعلام يسمى استعلام تعريف البيانات ) ولو قمنا بفتحه فإنه عن طريق الضغط بالماوس الإيمن عليه ثم اختيار فتح سيقوم مباشرة بإنشاء حقل جديد ADate في الجدول Table1

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

UPDATE Table1 SET Table1.ADate = #8/1/2011#;

كل ما علينا عمله هو انشاء استعلام جديد ثم نختار الجدول المطلوب وليكن مثلا Table1 والذي يوجد به الحقل الجديد ADate الذي قمنا بإضافته له في الشرح السابق ثم نختار هذا الحقل فقط ADate من الجدول لغرض تحديثه بتاريخ معين ثم نقوم بحفظ الإستعلام بإسم

Q2_UpDate على انه استعلام تحديث .

الآن لو قمنا بتشغيل او فتح هذا الإستعلام فسيقوم بتحديث الحقل الجديد ADate في الجدول Table1 بالتاريخ المطلوب وليكن مثلا 01/08/2011 وحتى لو كان الجدول يحتوي على عشرة ملايين سجل فإن هذا الإستعلام سيقوم بعملية التحديث في اقل من ثانية واحده بكل يسر وسهوله .

لذا اتبع الطريقة التالية للتعرف على الطريقة :

1. اولا افتح الجدول Table1 في طريقة العرض وستلاحظ انه لا يحتوي إلا على حقلين فقط هما ( اسم الموظف - ووظيفته ) ولا يوجد به اي حقل آخر ثم قم بإغلاق الجدول .

post-15367-047233600 1318917464_thumb.gi

2. قم بفتح الإستعلام Q1_ADD بالضغط بالماوس الأيمن عليه ثم اختيار فتح وستظهر لك رساله تفيد بإنه سوف يتم انشاء حقل جديد الى الجدول اختر موافق .

post-15367-074641800 1318917577_thumb.gi

3. افتح الجدول الأن وستشاهد حقل ADate انه قد تم انشاؤه ونوعه تاريخ / وقت

post-15367-020810000 1318917732_thumb.gi

4. قم بفتح الإستعلام Q2_UpDate ( استعلام التحديث ) او تشغيله والذي بدوره سيقوم بتحديث الحقل ADate في الجدول الى تاريخ 01/08/2011

post-15367-088684900 1318918103_thumb.gi

5. قم بفتح الجدول الآن لمشاهدة التحديثات التي طرأت على الجدول وستلاحظ انه تم تحديث جميع السجلات الخاصة بحقل التاريخ دفعة واحده في اقل من ثانية

post-15367-004856400 1318918296_thumb.gi

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

7. الآن قم بفتح الإستعلام Query1 واعمل ما شئت به

post-15367-031288600 1318918608_thumb.gi

db2-UP2.rar

لمزيد من المعلومات حول هذا الموضوع راجع هذا الرابط للإستفادة

/index.php?showtopic=144265

بالتوفيق

المرفقات
T1.gifT2.gifT3.gifT4.gifT5.gifT6.gif
#7

اختي الفاضلة :زهرة

بارك الله لك علي ابداعاتك المتواصلة

ولايسعني سوي الدعاء ان يجعل ذلك في ميزان حسناتك

لاتأسفن علي غدر الزمان لطـــــالما رقصت علي حثث الأســـــود كلاب

لاتحسبن برقصها تعلو علي أسادها تبقي الأسود أسودا والكلاب كلاب

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