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

استعلام تجميع بيانات

مغلقمُجاب
بدأه hossamonline2014 في 15 يناير 2014 · 22 رد · 1,692 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

انا اعمل في برنامج حاليا خاص بتعداد الشقق والمباني

 

ارجوا عمل استعلام علي النحو التالي :-

 

عندما ادخل رقم المبني ومثلا في هذا المثال : 90012000

 

تظهر لي جميع الشقق الموجودة به علي النحو التالي :

 

                 المبني  رقم :  90012000              الرقم المدني :      100/001/00220    الباركود  : 100000000                     حيث ان رقم 2 هو كود المبني

                            

                                      الشقق                                الرقم المدني                                    الكود

                                 18812000               100/001/00220/1260005                200000000                          حيث ان رقم  1 هو كود الشقة

                                 18812005                100/001/00220/1260006               2000000001  

                                18812057               100/001/00220/1260007                2000000002

                                 18812089               100/001/00220/1260008                2000000003

 

عدد الشق الموجودة به : 4

 

مرفق مثال للتوضيح . جزاكم الله وكل الشكر للقائمين علي المنتدي .

 

 

مثال علي المطلوب .rar

#2

أسف 

 

db.rar

#3

اخي الكريم

اشكرك ولكن ليس هذا المطلوب :-

 

في مثالك المرفق لقد كررت رقم المبني

ولكن المطلوب هو الأتي :-

                 المبني  رقم :  90012000              الرقم المدني :      100/001/00220    الباركود  : 100000000                     حيث ان رقم 2 هو كود المبني

                            

                                      الشقق                                الرقم المدني                                    الكود

                                 18812000               100/001/00220/1260005                200000000                          حيث ان رقم  1 هو كود الشقة

                                 18812005                100/001/00220/1260006               2000000001  

                                18812057               100/001/00220/1260007                2000000002

                                 18812089               100/001/00220/1260008                2000000003

 

عدد الشق الموجودة به : 4

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

تم تعديل هذه المشاركة بواسطة hossamonline2014 في 15 يناير 2014 في 12:39

#4
hossamonline2014 كتب:

اخي الكريم

اشكرك ولكن ليس هذا المطلوب :-

 

في مثالك المرفق لقد كررت رقم المبني

ولكن المطلوب هو الأتي :-

                 المبني  رقم :  90012000              الرقم المدني :      100/001/00220    الباركود  : 100000000                     حيث ان رقم 2 هو كود المبني

                            

                                      الشقق                                الرقم المدني                                    الكود

                                 18812000               100/001/00220/1260005                200000000                          حيث ان رقم  1 هو كود الشقة

                                 18812005                100/001/00220/1260006               2000000001  

                                18812057               100/001/00220/1260007                2000000002

                                 18812089               100/001/00220/1260008                2000000003

 

عدد الشق الموجودة به : 4

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

أخي هذا هو المطلوب تماما أما تكرار رقم المبنى فهى طريقة لربط الجداول في قاعدة البيانات عبر المفاتيح PK & FK 

ما يهمك هو النموذج الاخير   وشكرا 

1
#5

اخي الفاضل : حسام

 

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

 

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

 

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

 

الجدول الأول هو خاص ببيانات المباني ويكون هو الجدول الرئيسي

 

والجدول الثاني هو خاص ببيانات الشقق ويكون هو الجدول الفرعي

 

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

 

ليكون برنامجك بعد التعديل الكامل بهذا الشكل

 

 

نموذج ادخال بيانات المباني والشقق

 

post-15367-0-63834500-1389779244_thumb.g

 

 

تقرير المبنى والشقق الموجودة به

 

post-15367-0-48840100-1389779286_thumb.g

 

 

 

وايضا وضعنا لك استعلام QRY تستطيع من خلاله ادخال رقم المبنى ليظهر لك كامل بيانات الشقق الموجوده فيه

 

 

 

za-BuildingsAndFlats.rar

 

بالتوفيق

2
#6

اشكرك استاذتنا الكريمة علي هذا التوضيح والتعديل الأكثر من رائع

 

  ولكن الاستعلام  qry  لم يظهر كامل بيانات المبني والشقق الملحقة به

#7

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

ولكن يستحسن في جدول الشقق أن يكون المفتاح الرئيسي هو رقم المبني +رقم الشقة معا

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

 

ولكم وافر الاحترام والتقدير

#8
hossamonline2014 كتب:

اشكرك استاذتنا الكريمة علي هذا التوضيح والتعديل الأكثر من رائع

 

  ولكن الاستعلام  qry  لم يظهر كامل بيانات المبني والشقق الملحقة به

 

 

post-15367-0-59700200-1389780276_thumb.g

 

 

post-15367-0-20989500-1389780321_thumb.g

 

اين البيانات الناقصة في الإستعلام  !!!!!!!!!!!

1
#9

استاذة زهرة

 

احببت ان اوضح الاتي وان كنت لا اعلم هل يوجد حل ام لا :-

 

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

 

 

البيانات تصل الي حوالي 3 مليون بيان كلها في جدول واحد فهل من طريقه لذلك لأن فصل المباني عن الشقق بالكم الهائل من البيانات تعتبر امر صعب جدا

تم تعديل هذه المشاركة بواسطة hossamonline2014 في 15 يناير 2014 في 13:19

#10
zahrah كتب:

attachicon.gifQ1.gif

 

 

attachicon.gifQ2.gif

 

اين البيانات الناقصة في الإستعلام  !!!!!!!!!!

اسف استاذة زهرة لم الاحظ هذا ... ولكن كان لي استفسار كتبتة في الرد تحت هذا التعقيب

#11

اخي الفاضل : حسام

 

لماذا لم توضح هذه المعلومات منذ البدايه بأنك تأخذ البيانات من ملف اكسيل

 

حتى لا تتعبنا بعمل حلول بعيده كل البعد عما تريد تحقيقه

 

عموما ضع ملف الأكسيل حتى نقوم بربطه بقاعدة البيانات اكسيس ومن ثم تجزأة الجدول الى جدولين

 

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

 

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

 

بالتوفيق 

1
#12
zahrah كتب:

اخي الفاضل : حسام

 

لماذا لم توضح هذه المعلومات منذ البدايه بأنك تأخذ البيانات من ملف اكسيل

 

حتى لا تتعبنا بعمل حلول بعيده كل البعد عما تريد تحقيقه

 

عموما ضع ملف الأكسيل حتى نقوم بربطه بقاعدة البيانات اكسيس ومن ثم تجزأة الجدول الى جدولين

 

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

 

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

 

بالتوفيق 

اسف لعدم التوضيح من البداية

تفضلي الملف المرفق الآكسيل   

 

اشكرك جزيل الشكر

AREA.xls

تم تعديل هذه المشاركة بواسطة hossamonline2014 في 15 يناير 2014 في 13:46

#13

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

 

للرفع ......

#14
hossamonline2014 كتب:

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

 

للرفع ......

 

 

معذرة اخي الكريم

 

ملف الأكسيل الخاص بك يحتاج الى اجراءات مطوله وكتابة اكواد برمجية متعبه لعملية تجزأته وفصله الى جدولين 

 

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

 

ثم عمل استعلامات لإستحراج النتائج حتى تحصل على ما تريده انت حسب مشاركتك الأولى

 

وكل ذلك لا يتم إلا عن طريق الكود البرمجي 

 

لذا اعتذر منك في تنفيذ طلبك لعدم التفرغ لذلك

 

 

بالتوفيق

1
#15

اختي الكريمة زهرة ....

 

اقدر مسئولياتك وعدم تفرغك واشكرك لك عطائك الدائم للمنتدي ...

 

الي الامام ووفقك الله لما فيه الخير دائما ...

#16

الأخ الفاضل hossamonline2014 ..

لست خبيرا بالأكسس , و لكن اطلعت على الملف و وجدت ان الــ (Civil Number )  للمبنى يتكون من ثلاثة أجزاء يفصل بينها المحرف /    بينما الــ (Civil Number ) للشقة يتكون من اربع أجزاء .. و الأجزاء الثلاثة الأولى هي نفسها للمبنى التي تنتمي له ... اعتقد يمكنك فرز الجدول إلى جدولين ..

تم تعديل هذه المشاركة بواسطة حسام الشامي في 16 يناير 2014 في 13:26

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#17

على كل حال , هذه محاولتي بالبحث ...

لا أعرف هل هي صحيحة أم لا ..

Building_H.rar

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#18

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

 

 

الي الأمام دائما وبالتوفيق

#19
حسام الشامي كتب:

على كل حال , هذه محاولتي بالبحث ...

لا أعرف هل هي صحيحة أم لا ..

 

 

اخي الفاضل : حسام الشامي

 

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

 

وبارك الله بك على المشاركة معنا هنا في القسم

 

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

 

1. يوجد لدى الأستاذ حسام ملف اكسيل يأتيه بشكل دوري ( يومي - اسبوعي - شهري  ) به كامل المعلومات على شكل ملف مسطح

 

اي يضم بيانات المباني وبيانات الشقق .

 

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

 

لو كان الموضوع يقف عند هذا الحد لملف واحد كان قمنا بعمله له وانتهي الموضوع ولكن الوضع مختلف تماما لأن بيانات الملف متغيره بشكل دوري

 

ولهذا هو يحتاج الى آليه متقنه لإستخراج البيانات حسب الطريقة التالية :

 

اولا : بعد استلام ملف الأكسيل وبه البيانات يتم ربط  ( هنا يجب الربط فقط وليس الإستيراد ) هذا الملف مع قاعدة البيانات 

 

ثانيا : يعد عملية الربط يجب تكوين جدول رئيسي خاص بالمباني فقط والتي تحمل الأرقام الرئيسية وهي 

 

90012000  و  90012500  لأن الكود الخاص بها هو رقم 2  ( يعني مباني )

 

وسيكون تحت كل مبنى رقم الشقق وهي تأخذ الرقم  1

 

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

 

بعد وضع المفتاح الرئيسي في جدول المباني وكل ذلك يتم عمله برمجيا وليس يدويا

 

ثالثا : بعد الإنتهاء من الخطوات السابقة نقوم بعمل النماذج ( الرئيسي والفرعي ) لكلا الجدولين ثم تبدا مرحلة تحديث البيانات

 

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

 

لعدم الحاجة له واستعدادا لإستقبال ملف جديد من ملفات الأكسيل لبيانات مختلفه عن الملف السابق

 

خامسا : بعد الإنتهاء من البيانات السابقة سواء بطباعتها او حفظها نقوم بعملية حذف الجداول التي تم انشاؤها سابقا او الإبقاء عليها وحذف الببانات منها فقط

 

استعدادا لإستقبال بيانات جديده من  ملف اكسيل جديد .

 

 

هذه هي الآلية التي يجب ان تتم في موضوع الأستاذ حسام ولهذا  اعتذرنا منه لأن الطريقة متعبة وشاقة وتحتاج الى شخص متفرغ 

 

 

بالتوفيق

#20

الأستاذة العزيزة زهرة

 

 

zahrah كتب:

اخي الفاضل : حسام الشامي

 

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

 

وبارك الله بك على المشاركة معنا هنا في القسم

 

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

 

1. يوجد لدى الأستاذ حسام ملف اكسيل يأتيه بشكل دوري ( يومي - اسبوعي - شهري  ) به كامل المعلومات على شكل ملف مسطح

 

اي يضم بيانات المباني وبيانات الشقق .

 

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

 

لو كان الموضوع يقف عند هذا الحد لملف واحد كان قمنا بعمله له وانتهي الموضوع ولكن الوضع مختلف تماما لأن بيانات الملف متغيره بشكل دوري

 

ولهذا هو يحتاج الى آليه متقنه لإستخراج البيانات حسب الطريقة التالية :

 

اولا : بعد استلام ملف الأكسيل وبه البيانات يتم ربط  ( هنا يجب الربط فقط وليس الإستيراد ) هذا الملف مع قاعدة البيانات 

 

ثانيا : يعد عملية الربط يجب تكوين جدول رئيسي خاص بالمباني فقط والتي تحمل الأرقام الرئيسية وهي 

 

90012000  و  90012500  لأن الكود الخاص بها هو رقم 2  ( يعني مباني )

 

وسيكون تحت كل مبنى رقم الشقق وهي تأخذ الرقم  1

 

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

 

بعد وضع المفتاح الرئيسي في جدول المباني وكل ذلك يتم عمله برمجيا وليس يدويا

 

ثالثا : بعد الإنتهاء من الخطوات السابقة نقوم بعمل النماذج ( الرئيسي والفرعي ) لكلا الجدولين ثم تبدا مرحلة تحديث البيانات

 

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

 

لعدم الحاجة له واستعدادا لإستقبال ملف جديد من ملفات الأكسيل لبيانات مختلفه عن الملف السابق

 

خامسا : بعد الإنتهاء من البيانات السابقة سواء بطباعتها او حفظها نقوم بعملية حذف الجداول التي تم انشاؤها سابقا او الإبقاء عليها وحذف الببانات منها فقط

 

استعدادا لإستقبال بيانات جديده من  ملف اكسيل جديد .

 

 

هذه هي الآلية التي يجب ان تتم في موضوع الأستاذ حسام ولهذا  اعتذرنا منه لأن الطريقة متعبة وشاقة وتحتاج الى شخص متفرغ 

 

 

بالتوفيق

استاذة زهرة اشكرك لردك الكريم ولكن انا احببت أن اوضح امر معين هام جدا :-

 

ملف الآكسل ليس متغير فهو ثابت بمعني انه يوجد عندي ملف اكسل واحد موجود به كل البيانات وليس بمتغير

 

 

 البيانات الموجودة في ملف الاكسل ليست متغيرة ..

 

الملف هو واحد لجميع المحافظات  واقتبس من كلام حضرتك (لو كان الموضوع يقف عند هذا الحد لملف واحد كان قمنا بعمله له وانتهي الموضوع)

 

هذا هو المطلوب لأن البيانات ليست متغيرة فهي ثابتة  ارجوا أن اكون اوصلت وجهة نظري

 

فالمطلوب هو ليس ربط ملفات الأكسل بالأكسس ولكن استيرادها  الي قاعدة بيانات الأكسس كما تفضلتي حضرتك وقلتي

تم تعديل هذه المشاركة بواسطة hossamonline2014 في 16 يناير 2014 في 19:41

#21

الاخت الفاضلة زهرة ... مشرفة المنتدى ..

الأخ الفاضل حسام ... صاحب الموضوع ...

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

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#22 أفضل إجابة
hossamonline2014 كتب:

استاذة زهرة

 

احببت ان اوضح الاتي وان كنت لا اعلم هل يوجد حل ام لا :-

 

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

 

 

البيانات تصل الي حوالي 3 مليون بيان كلها في جدول واحد فهل من طريقه لذلك لأن فصل المباني عن الشقق بالكم الهائل من البيانات تعتبر امر صعب جدا

 

بارك الله بك اخي حسام الشامي

 

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

 

ونقول لك جزاك الله كل خير على المشاركة

 

 

 

 

اخي الفاضل : حسام

 

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

 

وهذا يعني انك تستلم في كل مرة بيانات جديده اخرى غير السابقة سواء بشكل يومي او اسبوعي او شهري او سنوي ويكون الملف نفسه هو   AREA.xls

 

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

 

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

 

إلا في حالة واحده وهي ان هذا الملف هو الوحيد فقط وبعد لن تستلم اي ملفات ويكون العمل فقط على هذا الملف وسيكون الحل بالطريقة اليدوية فقط لا غير

 

حيث سنقوم بعمل جدولين ( رئيسي وفرعي ) ثم نضع في الجدول الرئيسي مفتاح اساسي ونربطه مع الجدول الفرعي بعلاقة واحد الى متعدد بطريقة يدويه

 

الآن بإمكاننا انشاء النماذج والإستعلامات لهذا الموضوع بدون اي تدخل برمجي

 

حسنا اخي الكريم ..........

 

اليك الملف بعد التعديل والذي تم عمله بالطريقة اليدويه وقم بالتطبيق مثله لتحصل على النتائج كما في هذا الملف

 

ايضا يوجد استعلام لتبحث فيه برقم المبنى 90012000  او  90012500 

 

 

post-15367-0-59350200-1389898662_thumb.g

 

 

 

za-BuildingsAndFlats-UP.rar

 

 

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 16 يناير 2014 في 21:58

2
#23

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

 

اشكرك جزيل الشكر علي التواصل وتم الإستيعاب 100 % لجميع الملاحظات ...

 

كلمة شكر لن توفيك حقك ....

هذا الموضوع مغلق.

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