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

استعلام يقوم بتعبئة الفراغات الموجودة في الحساب الفرعي من الحقل السابق له لنفس رقم الحساب الرئيسي

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

اخواني الاعزاء اريد كود او استعلام يقوم بتعبئة الفراغات الموجودة في الحساب الفرعي من الحقل السابق له لنفس رقم الحساب الرئيسي

pdwrfzkq9u6a9c3.png

db3.rar

#2

تفضل اخى

مطلوبك عن طريق الاستعلام

اعتقد ان ذلك افضل

اخى دائما اجعل اسماء الحقول بالانجليزية

db3.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

اخي الكريم بارك الله فيك ليس هذا المطلوب

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

#4
mbc321 كتب:

اخي الكريم بارك الله فيك ليس هذا المطلوب

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

و اذا لم يكن لنفس رقم الحساب الرئيسى ماهى القيمة

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5

اخي الكريم

الحساب الرئيسي مستحيل ان تكون قيمته خالية

بمعنى انه اذا كان قيمة الحساب الفرعي خالية يتم نسخ القيمة السابقة له بشرط ان يكون ضمن الحساب الرئيسي

الشرح بالصورة اوضح

#6

هل تريد ان يتم التعديل فى الجدول ام لا

تم تعديل هذه المشاركة بواسطة m_orouk في 24 فبراير 2010 في 12:27

#7
mbc321 كتب:

اخي الكريم

الحساب الرئيسي مستحيل ان تكون قيمته خالية

بمعنى انه اذا كان قيمة الحساب الفرعي خالية يتم نسخ القيمة السابقة له بشرط ان يكون ضمن الحساب الرئيسي

الشرح بالصورة اوضح

اخى لم أقصد ان يكون الحساب الرئيسى خالى

و لكن أقصد ان يكون السجل الاول من الحساب الفرعى لنفس الحساب الرئيسى خالى

مثال

السجل المحدد بالسهم الاحمر فى الصورة

post-193330-12670038372058_thumb.jpg

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#8

اسف اخي الكريم

بالفعل مستحل ان تكون اول قيمة في الحساب الفرعي خالية ومستحيل ان يكون الحساب الرئيسي خالي :blush:

#9
mbc321 كتب:

اسف اخي الكريم

بالفعل مستحل ان تكون اول قيمة في الحساب الفرعي خالية ومستحيل ان يكون الحساب الرئيسي خالي :blush:

تفضل اخى

لقد قمت بتنفيذ الكود على جدول ثانى

حتى لا تضيع البانات من الجدول الاول

db3.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#10

بالفعل اخي الكريم هذا المطلوب ولكن ظهرت مشكلة جديدة حجم الداتا اصبح غير طبيعي بعد تنفيذ الكود عندما يكون عدد السجلات اكثر من 500 الف سجل تظهر رسالة بعدم المواصلة هل يوجد حل لهذه المشكلة

تم تعديل هذه المشاركة بواسطة mbc321 في 25 فبراير 2010 في 09:45

#11
mbc321 كتب:

بالفعل اخي الكريم هذا المطلوب ولكن ظهرت مشكلة جديدة حجم الداتا اصبح غير طبيعي بعد تنفيذ الكود عندما يكون عدد السجلات اكثر من 500 الف سجل تظهر رسالة بعدم المواصلة هل يوجد حل لهذه المشكلة

ارجو ارفاق الجدول ان امكن او صورة الرسالة التى تظهر على الاقل

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#12

اسف على التأخير

7a59ef9kft7v9ljwx3o.jpg

#13

اخى

اعتقد ان الحل لهذه المشكلة هو ان تقوم بتقسيم السجلات

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#14

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

إذا تسمح لي أخي mrnooo2000 بأن أقدم مشاركتي

أخي الكريم mbc321 هذا مثال في المرفق وستجد به جدولك Table1 وأضفت جدول آخر بإسم 1 وهو نسخة طبق الأصل من جدولك ... لكي ترجع له

وذلك لأن الإستعلام Qry الذي أضفته سيقوم بتحديث البيانات في الجدول Table1 ... وفكرة الإستعلام مأخوذه من مشاركة لأستاذتي زهرة بارك الله بها وبعلمها على الرابط التالي

/index.php?showtopic=212880

وغيرت في تعليمة SQL لتكون كالتالي

UPDATE Table1 SET Table1.[الحساب الفرعي] = IIf(nz([الحساب الفرعي],"")="",DLast("[الحساب الفرعي]","Table1","[ID]<" & [ID]),[الحساب الفرعي])

ولكن المشكلة ... بإفتراض ان "[الحساب الفرعي]" يساوي w1 وكان بعده سجلين فارغين ... فإن الإستعلام سيحدث فقط السجل الفارغ الأول الذي يلي السجل الذي به w1 ... والسبب أنه إذا وصل للسجل الثاني الفارغ فإنه سينظر للسجل الذي قبله وقيمته طبعا ما زالت فارغه ... لأنه لا يقو بتحديث كل سجل لوحده ثم يقرأ القيم .. بل يقوم الإستعلام بتحديد ما سيقوم به وفق المعايير والقيم ثم يحدث الجدول كاملا

أتمنى اني شرحت المشكلة بشكل واضح

عموما أنا قمت بالتغلب على هذه المشكلة ... في المثال المرفق ... إلى حد معين ... بحيث أني جعلت الإستعلام يحدث السجلات الفارغة إذا كانت لا تزيد عن 5 سجلات فارغة تلي السجل الذي به قيمة مدخله بشكل عادي ... أما إذا كان من المحتمل وجود سجلات فارغة أكثر من خمسة ... فما عليك سوى إعادة تشغيل الإستعلام وسيقوم بإكمال تحديث باقي السجلات الفارغة

وإذا أردت فمن الممكن أن أعمل لك كود يختبر أكبر عدد للسجلات الفارغة ... ثم ينشئ تعليمة SQL مناسبة لهذا العدد

ملحوظة : عند تشغيل اللإستعلام سيظهر لك رسائل تحذيرية ... لأنك ستحدث قيم الجدول .. أقبلها

وبالتوفيق

koao_db3.zip

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#15

بارك الله فيكم وفي علمكم

بالنسبة للحقول الخالية تزيد عن 1300 حقل خالي لكل حساب فرعي

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

يكون بهذا الشكل

il1pv350vjy9o172.jpg

ومنه يتم عمل استعلام تحديث tabel1 يقوم بتحديث الحقول الفارغة اعتمادا على رقم id

لكن كيف يتم عمل ذلك ؟؟؟ بالاكسس

تم تعديل هذه المشاركة بواسطة mbc321 في 26 فبراير 2010 في 20:34

#16

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

أخي الكريم .. أنظر المرفق ... كما وعدتك هذا المثال أولا ينشئ جدول جديد (كما طلبت ) بإسم UpdatedTable1 ثم يختبر الجدول ... ثم ينشئ تعليمة SQL لتحديث الجدول

بغض النظر عن عدد الفراغات فهو يعرفها بنفسه

وبالتوفيق

koao_db3up.zip

تم تعديل هذه المشاركة بواسطة koao في 26 فبراير 2010 في 21:28

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#17

اخي الكريم koao

اذا كان عدد السجلات الخالية اكثر من 5 فإنه لايعمل على التحديث مثلا 10 سجلات خالية

اما اذا كانت السجلات الخالية اكثر من 300 فانه تظهر رسالة خطأ

wvws5m5.jpg

اتمنى لو تضبط فكرة عمل جدول مستقل بناءا على table1 بمعني يكون ملخص عن بداية كل رقم حساب فرعي غير فارغ

#18

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

أبشر اخي ... هذا المثال ينسخ الجدول ثم يحدث البيانات لكل سجل وليس للجدول بالكامل .. والذي سبب مشكلة في المثال السابق

وبالتوفيق

koao_db3up2.zip

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#19

يسلموووووووووووووو الله يعطيك العافية لكن هل بالامكان اضافة شريط تقدم او عداد :wub:

زادك الله علما وعملا انت واخي mrnooo2000

#20

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

أضفت شريط تقدم من تصميمي .. كأداة ActiveX ... قد يظهر لك خطأ في بداية تشغيل القاعدة .. بحكم ان الأداة ليست مسجلة في جهازك

لذا ستجد في المرفق ملف Ocx ... أضفه للنظام بالدخول لمحرر الأكواد ثم من شريط القوائم إختر Tools ثم References ثم أنقر على زر Browse وحدد الملف ثم موافق

وبالتوفيق

koao_db3_Progress.zip

2

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#21

:) جزاك الله خيــــــــــــــرا

#22

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

جزاك الله كل خير خالد

بارك الله فيك ونفع بعملك ، لك مني أجمل تحية و +1

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#23

وإياك أخي mbc321 .. ونحن في الخدمة

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

أخي محمد شرفني مرورك .. وما قدمنا إلا جزء بسيط مما تقدمون .. وعلى خطاكم نسير .. فلك الشكر والعرفان

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#24

رائع اخى koao

و طريقتك أفضل

و مثالك رائع فعلا +1

و انا احاول ان ابحث فى سبب ما حدث مع الكود الاول و اذا وصلت الى شىء فسأعلمكم

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#25

زدت مثالي روعةً بكلماتك التي تشرفت بها أخي mrnooo2000 .. فلك الشكر والعرفان ... ونسال الله ان يبارك فيك وفي علمك

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

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

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

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

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

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