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

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

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

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

اخوتي الكرام

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

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

لقد قمت بارفقا الملف للتعديل وشرحت المطلوب من خلال النموذج في القاعدة رقم ( 1 )

أتمنى أن يكون واضحا مطلب ولكم الشكر والتقدير

____________.rar

#2

اخي الفاضل فرقدي

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

الموضوع يحتاج الى بعض الشرح

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

وهو من القاعدة الثانية تقوم بإلحاق البيانات الى القاعدة الاولى

ملاحظة : تم تعديل اسماء قواعد البيانات لتكون بالعكس فبدلا من 1 جعلناها 2 والقاعدة 2 جعلناها 1 لان الجدول الاساسي المراد الحاق البيانات منه موجود في القاعدة رقم 2

عند فتح القاعدة رقم 1 والضغط على زر الامر " ابحث عن قاعدة رقم 2 فإنه سوف يقوم بتشغيل كود Shell وهو اقصر كود يمكن استخدامه لفتح قواعد البيانات او اي برنامج بدلا من الكود الطويل اخاص بمربع حوار فتح الملفات .

Call Shell("MSACCESS.EXE  """ & CurrentProject.Path & "\2.mdb""", vbMinimizedFocus)

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

ثانيا : زر الامر " تشغيل استعلام الحاق وحذف فيتم من هذه القاعدة وليس من القاعدة الثانية لهذا تم عمل استعلام الحاق للحقل Z واستعلام حذف لباقي البيانات

وتم وضعهم تحت زر الامر .

الان بمجرد الضغط على زر الامر البحث عن قاعدة البيانات 2 سيتم فتحها مباشرة لآنها في نفس مجلد القاعدة .

وعند الضغط على زر تشغيل الاستعلام سيقوم بإلحاق الحقل Z بناء على المعيار ( الرقم ) الذي تحدده في مربع النص B من القاعدة الحالية الى القاعدة الثانية وسيقوم ايضا بحذف باقي البيانات من الجدول SS

وهذا مثالك بعد التعديل

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

QryAppend_Del.rar

#3

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

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

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

فتحت القاعدة ( 1 ) وضغط الزر الاول حيث تم فتح القاعدة الثانية

لاحظت أن بيانات الجدول ( SS ) في قاعدة ( 1 ) انتقلت

نسخة منها الى الجدول ( S ) في قاعدة ( 2 ) التي تم فتحها

مسبقا بالزر الاول .

تظهر المشكلة عند الضغط على الزر الثاني حيث تظهر رسالة

خطأ في الكود

Private Sub ÃãÑ1_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "A"
DoCmd.OpenQuery "D"
DoCmd.SetWarnings True
End Sub

السطر الثالث : أمر تشغيل استعلام ( A )

DoCmd.OpenQuery "A"

عموما الامر الاول جيد جدا مع أنني افضل الاستعراض لسبب

أنني أريد المستخدم هو الذي يحدد مكان القاعدة الثانية أو مهما

كان أسمها يعني نبحث عنها بالزر الاول ونقوم بتحديدها .

مع ضرورة أن تكون البيانات المراد جلبها في القاعدة ( 2 )

وليس ( 1 )

يعني ان تنتقل البيانات بعد تشغيل الاستعلامين .فالامر الاول سنقصره فقط على تحديد مكان القاعدة الثانية فقط !

أما الزر الثاني فلربما حسب فهمي من شرحك - اختي -

ان الاستعلامين سيتم تنفيذهما على القاعدة ( 2 )

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

الى القاعدة الأولى .

اعتذر لأني لم اوصل الشرح للطلب لكم بالصورة المطلوبة

#4

اخي الفاضل فرقدي

دعنا نأخذ الموضوع خطوه خطوه

1. لديك قاعدتين بيانات الاولى رقم 1 والثانية رقم 2

2. لديك في قاعدة البيانات الاولى جدول S وبه 6 حقول من ضمنها الحقل Z

3. جميع الحقول خالية من البيانات .

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

5. ولديك ايضا زر امر لتشغيل استعلام الحاق وحذف

6. ولديك مربع نص B تضع به قيمه

القاغدة الثانية بها فقط جدول SS به بيانات وحقول ومن ضمنها الحقل Z

الان نفتح القاعدة الاولى ونقوم بالبحث عن قاعدة البيانات الثانية رقم 2 ولنفرض اننا وجدناها وفتحناها

تريد الان تشغيل استعلام الحاق بيانات الجدول SS من القاعدة الثانية الى الجدول S في القاعدة الاولى بموجب المعيار الذي يوضع في مربع النص B

الى هنا لا يوجد مشكله فقد نم عملها في المثال الجدبد

الان يوجد لدينا في الجدول S في القاعدة الاولى سجل واحد فقط بناء على ما تم اختياره في مربع النص B

سؤال : ماذا بشأن البيانات في الجدول SS في القاعدة الثانية ( ماذا تريد ان تفعل بها هل ستبقيها في القاعدة الثانية ام تحذفها )

#5
zahrah كتب:
اخي الفاضل فرقدي

دعنا نأخذ الموضوع خطوه خطوه

1. لديك قاعدتين بيانات الاولى رقم 1 والثانية رقم 2

2. لديك في قاعدة البيانات الاولى جدول S وبه 6 حقول من ضمنها الحقل Z

3. جميع الحقول خالية من البيانات .

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

5. ولديك ايضا زر امر لتشغيل استعلام الحاق وحذف

6. ولديك مربع نص B تضع به قيمه

القاغدة الثانية بها فقط جدول SS به بيانات وحقول ومن ضمنها الحقل Z

الان نفتح القاعدة الاولى ونقوم بالبحث عن قاعدة البيانات الثانية رقم 2 ولنفرض اننا وجدناها وفتحناها

تريد الان تشغيل استعلام الحاق بيانات الجدول SS من القاعدة الثانية الى الجدول S في القاعدة الاولى بموجب المعيار الذي يوضع في مربع النص B

الى هنا لا يوجد مشكله فقد نم عملها في المثال الجدبد

الان يوجد لدينا في الجدول S في القاعدة الاولى سجل واحد فقط بناء على ما تم اختياره في مربع النص B

سؤال : ماذا بشأن البيانات في الجدول SS في القاعدة الثانية ( ماذا تريد ان تفعل بها هل ستبقيها في القاعدة الثانية ام تحذفها )

أهلا بك اختي الفاضلة واستاذتنا زهرة

خطوات جميلة ومنظمة بارك الله فيك

حول سؤالكم :

( الان يوجد لدينا في الجدول S في القاعدة الاولى سجل واحد فقط بناء على ما تم اختياره في مربع النص B

سؤال : ماذا بشأن البيانات في الجدول SS في القاعدة الثانية ( ماذا تريد ان تفعل بها هل ستبقيها في القاعدة الثانية ام تحذفها ) )

اقول :

البيانات في القاعدة 2 الجدول SS اريد أن يطبق عليها استعلام الحذف يعني حذف من لا ينطبق عليه المعيار في مربع نص B

نعم نحذفها ونبقي فقط التي ينطبق عليها المعيار

وعذرا لازعاجك ولكن انتي الكريمة ونحن اخوتك :)

لاي سؤال آخر اذا لم يكن طلبي واضحا أتمنى أني اوفق في شرح الطلب

#6
اقتباس
البيانات في القاعدة 2 الجدول SS اريد أن يطبق عليها استعلام الحذف يعني حذف من لا ينطبق عليه المعيار في مربع نص B

نعم نحذفها ونبقي فقط التي ينطبق عليها المعيار

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

1. فتح قاعدة البيانات الاولى والضغط على زر امر استعراض الملفات واختيار قاعدة البيانات الثانية

2. الضغط على زر امر تشغيل قاعدة البيانات المختاره في مربع النص

3. بعد فتح قاعدة البيانات الثانية تقوم بالضغط على زر امر الحاق بيانات من القاعدة الثانية الى القاعدة الاولى

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

4. نغلق القاعدة الثانية وبما ان القاعدة الاولى مفتوحه اساسا فنقوم بوضع معيار الحذف في مربع النص B ونقوم بالضغط على زر الامر المجاور لها ليتم حذف البيانات الغير مطلوبه والابقاء على ما تم اختياره من قيمة .

5. نضغط على زر نفتح الجدول S في القاعدة الاولى فنلاحظ فقط سجل واحد المبني على معيار الحذف .

6. نضغط على زر فتح الجدول SS في القاعدة الثانية وسيكون تحت زر الامر كود الحاق بيانات الجدول S الى الجدول SS بإعتبار ان جدول SS خالي من البيانات .

ملاحظة رقم 1 : يجب ان تكون قواعد البيانات في المجلد D:\QryAppend والا ستفشل عملية الالحاق

ملاحظة 2 : تتم هذه العملية لمره واحدة فقط ولا يمكن تكرارها نظرا لآنه تم حذف بيانات الجدول SS نهائيا وتم استبدالها ببيانات الجدول S حسب المعيار المحدد

وهذا هو المثال بعد التعديل

QryAppend.rar

#7

أهلا اختي

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

علما بأني وضعت المجلد في القرص D وأيضا نفس الشيء عندما وضعته في القرص C

اخذت صورا من المشكلة وارفقتها

صورة 1 + 2 = الرسالة التي تظهر بمجرد فتح قاعدة 1

صورة 3 = مشكلة تظهر عند الضغط على زر استعراض البيانات

لربما المشكلة عندي

المهم حول ردكم :

(( 3. بعد فتح قاعدة البيانات الثانية تقوم بالضغط على زر امر الحاق بيانات من القاعدة الثانية الى القاعدة الاولى ))

من هذا الرد ربما يبدو لي أن الحل غير متوفر لما اريد أو لربما اطلب المستحيل لسبب بسيط

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

___.rar

#8

تظهر هذه الرسائل والاخطاء نتيجة نقص احد المكتبات في جهازك وهو ملف comdlg32.ocx وهو خاص بإستعراض الملفات

حسنا لا يوجد مشكله قم بتحميله الى مجلد النظام C:\WINDOWS\system32

ثم قم بالضغط عليه مرتين ليتم تسجيله وستظهر لك رساله بنجاح التسجيل

الان افتح البرنامج وسبعمل معك بدون اخطاء

comdlg32.rar

#9
zahrah كتب:
تظهر هذه الرسائل والاخطاء نتيجة نقص احد المكتبات في جهازك وهو ملف comdlg32.ocx وهو خاص بإستعراض الملفات

حسنا لا يوجد مشكله قم بتحميله الى مجلد النظام C:\WINDOWS\system32

ثم قم بالضغط عليه مرتين ليتم تسجيله وستظهر لك رساله بنجاح التسجيل

الان افتح البرنامج وسبعمل معك بدون اخطاء

comdlg32.rar

عذرا منك اختي لم تفلح معي الطريقة بارك الله فيك

الملف المرفق عند الضغط عليه يطلب تحديد برنامج لتشغيله !!!

مع خالص شكري

#10

اخي الفاضل فرقدي

افا وانا اختك هل تغيب عليك مثل هذه الامور البسيطه

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

عموما بعد ان تضع الملف في مجلد النظام C:\Windows\System32 اذهب الى

ابدأ ( اتمنى ان لا تسألني اين هي ابدأ - Start هذه الخاصة بالويندوز )

تشغيل

ضع هذه العباره كما هي بعد نسخها ثم اضغط موافق

C:\Windows\System32\Regsvr32.exe C:\Windows\System32\comdlg32.ocx

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

#11
zahrah كتب:
اخي الفاضل فرقدي

افا وانا اختك هل تغيب عليك مثل هذه الامور البسيطه

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

عموما بعد ان تضع الملف في مجلد النظام C:\Windows\System32 اذهب الى

ابدأ ( اتمنى ان لا تسألني اين هي ابدأ - Start هذه الخاصة بالويندوز )

تشغيل

ضع هذه العباره كما هي بعد نسخها ثم اضغط موافق

C:\Windows\System32\Regsvr32.exe C:\Windows\System32\comdlg32.ocx

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

:D اضحك الله سنك اختاه

اختي واستاذتي الكريمة

لم يفتني تجربة الامر ولكني جرب نصفه فقط !! لقد وضعت سابقا فقط الامر comdlg32.ocx

لاني طبقت عموما رأي استاذتي عندما قالت :

(( حسنا لا يوجد مشكله قم بتحميله الى مجلد النظام C:\WINDOWS\system32

ثم قم بالضغط عليه مرتين ليتم تسجيله وستظهر لك رساله بنجاح التسجيل ))

:rolleyes:

الحمد لله تم التشغيل الان اقصد الملف في الويندوز comdlg32.ocx

بقى شيء واحد ومهم جدا بالنسبة لي لانجاح ما أطلبه :

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

زر تنفيذ الاستعلامين يتم تنفيذه على القاعدة الثانية من القاعدة الأولى وليس من القاعدة الثانية .

اذا كان هذا الامر ممكنا بفضل مساعدتكم فهذا مطلبي ولك الشكر

وان كان لايمكن فايضا لكم الشكر على مشاركتكم ايانا

#12

اخي الفاضل فرقدي

هل من الممكن ان تجيب على هذه الاسئلة

1. ما فائدة استعرض مكان قاعدة البيانات فقط .

هل تريد ان تتأكد من انها موجوده في مكانها ام لا

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

2. كيف تريد ان تنفذ استعلام الحاق من القاعدة الثانية الى القاعدة الاولى وانت لم تفتح اساسا القاعدة الثانية وتقوم بإجراء اي عمليات عليها .

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

#13

Je suis désolé

le poste pc au cyber que j'utilise ne fonctionne pas en arabe

SVP lisez le document WORD associer

merci

alasomed كتب:
Je suis désolé

le poste pc au cyber que j'utilise ne fonctionne pas en arabe

SVP lisez le document WORD associer

merci

AA.DOC.rar

QryAppend.rar

#14

بسم الله الرحمن الرحيم

تحياتي للجميع

بعد استئذان خبيرتنا أم شهد , لما أكنه لها من عظيم حب وتقدير , سأحاول أن أقدم وجهة نظر متواضعة في هذا الموضوع , فآمل أن تشملني سعة صدرها التي عودتنا عليها وموفقة إن شاء الله

في اللبداية أقدم اعتداري عن مشاركتي السابقة باللغة الفرنسية لظروف أجهزة فضاء الأنترنيت

اقتباس
اهلا اختي

1- الاستعراض بحثا عن القاعدة لكون أن القاعدة الثانية متغيرة الاسم في كل مرة

2- ما اطلبه هو بالفعل ما فهمته انتِ تماما ويبدو ان ذلك غير ممكن كما تفضلتي بالرد

(( لا أعتقد ان هذه الاجراءات ممكنه ))

لاني بالفعل اريد تنفيذ الاستعلام من قاعدة غير القاعدة المختارة كما وضحت سابقا .

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

نلتقي بكم في حوارات ثانية في مواضيع اخرى

أخي فرقدي , لا تيأس من الطلب , ففي عالم البرمجة لا شيء مستحيل

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

QryAppend.rar

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

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

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

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

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

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