اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

طلب استعلام إلحاق من جدول واحد إلى عدة جداول بشروط


العبيدلي
إذهب إلى أفضل إجابة Solved by kanory,

الردود الموصى بها

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

لدي طلب وأتمنى منكم المساعدة ولكم كل الشكر

يوجد نموذج ادخال بيانات أريد عندما أفتح النموذج يقوم بقتح ادخال جديد مباشرة وعندما أدخل البيانات اضغط على زر الحاق ينفذ الاعمال التالية

1- إذا كانت الوظيفة ( اداري ) تلحق البيانات جميعا من جدول المعاملات إلى 4 جدوال على سبيل المثال جدول 1 ، جدول 2 ، جدول 3 ، جدول 4 

2- إذا كانت الوظيفة ( معلم ) تلحق البيانات جميعا من جدول المعاملات إلى 4 جدوال على سبيل المثال جدول 5 ، جدول 6 ، جدول 7 ، جدول 8

 

وأتمنى منكم التوضيح 

ولكم مني كل تقدير

 

تجريبي.rar

رابط هذا التعليق
شارك

  • أفضل إجابة
6 ساعات مضت, العبيدلي said:

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

لدي طلب وأتمنى منكم المساعدة ولكم كل الشكر

يوجد نموذج ادخال بيانات أريد عندما أفتح النموذج يقوم بقتح ادخال جديد مباشرة وعندما أدخل البيانات اضغط على زر الحاق ينفذ الاعمال التالية

1- إذا كانت الوظيفة ( اداري ) تلحق البيانات جميعا من جدول المعاملات إلى 4 جدوال على سبيل المثال جدول 1 ، جدول 2 ، جدول 3 ، جدول 4 

2- إذا كانت الوظيفة ( معلم ) تلحق البيانات جميعا من جدول المعاملات إلى 4 جدوال على سبيل المثال جدول 5 ، جدول 6 ، جدول 7 ، جدول 8

 

وأتمنى منكم التوضيح 

اين الجداول من 1 >>>>>>>>>>>> 8

على كل حال العملية سهلة ..... بعد تصميم الجداول الثمانية 

هنا عدة طرق منها اما ( IF أو Select Case ) ........ وصمم استعلامات الحاق ثمانية الى الجداول الثمانية .....

  • Like 3
رابط هذا التعليق
شارك

طيب <<<<<<<>>>>>>>>

ضع هذا الحدث تحت الزر عندك .........

If Me.الوظيفة = "اداري" Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO 1 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 2 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 3 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 4 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
MsgBox Space(20) & "تمت العملية بنجاح.." & Space(20), msgstyle, "للمعلومية"
DoCmd.SetWarnings True
ElseIf Me.الوظيفة = "معلم" Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO 5 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 6 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 7 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 8 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
MsgBox Space(20) & "تمت العملية بنجاح.." & Space(20), msgstyle, "للمعلومية"
Else
MsgBox Space(20) & "الرجاء اختيار الوظيفة.." & Space(20), msgstyle, "تحذير"
End If

 

  • Like 1
  • Thanks 3
رابط هذا التعليق
شارك

1 دقيقه مضت, kanory said:

طيب <<<<<<<>>>>>>>>

ضع هذا الحدث تحت الزر عندك .........

If Me.الوظيفة = "اداري" Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO 1 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 2 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 3 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 4 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
MsgBox Space(20) & "تمت العملية بنجاح.." & Space(20), msgstyle, "للمعلومية"
DoCmd.SetWarnings True
ElseIf Me.الوظيفة = "معلم" Then
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO 5 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 6 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 7 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
DoCmd.RunSQL "INSERT INTO 8 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));"
MsgBox Space(20) & "تمت العملية بنجاح.." & Space(20), msgstyle, "للمعلومية"
Else
MsgBox Space(20) & "الرجاء اختيار الوظيفة.." & Space(20), msgstyle, "تحذير"
End If

 

ماشاء الله لاقوة إلا بالله

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

كذلك يجب وضع VALUES قبل قوس العناصر

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

رابط هذا التعليق
شارك

16 دقائق مضت, د.كاف يار said:

ماشاء الله لاقوة إلا بالله

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

كذلك يجب وضع VALUES قبل قوس العناصر

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

بعض ما لديكم استاذنا الغالي ..

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

وملاحظتك في محلها سيدي ... تسلم على المداخلة ...

  • Like 3
رابط هذا التعليق
شارك

السلاع عليكم

أخي العزيز خبير 

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

 

كلي رجاء بعمل زر ووضع الكود وتشغيله لمعرفة الخطأ الذي صدر مني 

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

 

ومنكم نستفيد

رابط هذا التعليق
شارك

10 ساعات مضت, العبيدلي said:

السلاع عليكم

أخي العزيز خبير 

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

 

كلي رجاء بعمل زر ووضع الكود وتشغيله لمعرفة الخطأ الذي صدر مني 

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

 

ومنكم نستفيد

تم التطبيق على المرفق  <<<<<<<>>>>>>>

 

تجريبي (1).rar

  • Like 3
رابط هذا التعليق
شارك

9 ساعات مضت, العبيدلي said:

شكرا لك وبارك الله بك على المجهود

ولكن الزر لا يعمل 

يظهر لي خطأ بالموديوم 

 

جزاك الله كل خير وأشكر جهدك

هذا الكلام في المرفق ام برنامجك ........... وماهي رسالة الخطأ التي تظهر .....

  • Like 3
رابط هذا التعليق
شارك

تظهر بعد الضغط أخي 

عندما افتح البرنامج لا يوجد شيئ 

ولكن عندما اضغط على الزر تظهر هذه النافذة

 

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

رابط هذا التعليق
شارك

السلام عليكم

لقد حذفت الاستعلام وزر الارسال من النموذج

حاليا يوجد زر جديد اسمه Send بالنموذج

وأستأذنك بعمل استعلام من نفسك لأن الخطأ واضح من الاستعلام لا يستجيب للأمر 

وأعتذر منك عن المجهود 

ومت بخير

مرفق

al3beadlly.rar

رابط هذا التعليق
شارك

يعطيك ألف عافية أخي

شاكر مجهودك ولكن نفس الخطأ يظهر لي رغم تغيير الاوفيس 

والمشكله عندما أدخل على خصائص زر الأمر تظهر لي شاشة بيضاء ويقفل الاوفيس وبواسطة الكود أستطيع نسخه ومعرفة مكانه ولكن السبب مؤكد مني 

شكرا لك جزيلا 

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

 

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

وعند الله لا يضيع لك أجر

ويكفيني مساعدتك لي 

بارك الله بك

رابط هذا التعليق
شارك

40 دقائق مضت, العبيدلي said:

يعطيك ألف عافية أخي

شاكر مجهودك ولكن نفس الخطأ يظهر لي رغم تغيير الاوفيس 

والمشكله عندما أدخل على خصائص زر الأمر تظهر لي شاشة بيضاء ويقفل الاوفيس وبواسطة الكود أستطيع نسخه ومعرفة مكانه ولكن السبب مؤكد مني 

شكرا لك جزيلا 

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

 

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

وعند الله لا يضيع لك أجر

ويكفيني مساعدتك لي 

بارك الله بك

طيب جرب المرفق هذا <<<<<<<>>>>>>>>

 

al3beadlly.rar

42 دقائق مضت, العبيدلي said:

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

نافذة الرسائل بسيطة يمكن تلافيها وعدم ظهورها ..... 

  • Like 2
رابط هذا التعليق
شارك

شاكرلك اخي

اتركه عنك نفس المشكلة 

رغم ان كل الاكسس اللي سويتهم شغالين بالاكواد ميه بالميه الا هذا سبحان الله 

على العموم اتركه عنك وأنا أحاول اشوف شرح له باليوتيوب وأمشي فيه بالخطوات 

واذا تعرف فيديو تعليمي للكود هذا أتمنى ارساله وكذلك ازالة النوافذ بالاستعلام

 

ودمت بخير

رابط هذا التعليق
شارك

الكود ليس فيه جديد ( هو استعلام ولكن عن طريق VB فقط )

لو قمت بنسخ هذا الجزء مثلا والصقتة في طريق عرض SQL في الاستعلام يظهر لك الاستعلام 

INSERT INTO 1 ( [رقم الكتاب], [تاريخ الكتاب], الاسم, الوظيفة, الموضوع, [اسم المستلم], [تاريخ الاستلام], المرحلة )  SELECT المعاملات.[رقم الكتاب], المعاملات.[تاريخ الكتاب], المعاملات.الاسم, المعاملات.الوظيفة, المعاملات.الموضوع, المعاملات.[اسم المستلم], المعاملات.[تاريخ الاستلام], المعاملات.المرحلة  FROM المعاملات  WHERE (((المعاملات.[رقم الكتاب])=[Forms]![ادخال بيانات]![رقم الكتاب]));

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

DoCmd.SetWarnings False
DoCmd.OpenQuery "استعلام1"
DoCmd.SetWarnings True

 

  • Like 3
رابط هذا التعليق
شارك

السلام عليكم 

منذ ساعه, العبيدلي said:

kanory

عملت اكسس جديد وشغال 100% وغيرت الحقول إلى الانجليزية كونها أفضل من ناحية SQL

المطلوب عند أدخال سجل جديد وكتابة البيانات أضغط على الزر الأسود ليعمل على :

الشرط الأساسي موجود في حقل Occupation وهو عبارة عن موظف  ( اداري ، اداري مدارس ، معلم )

1- إذا كان اداري يعمل الزر على نقل بيانات الموظف إلى ثلاثة جداول ( Alwa6eifiyah , Ejazat Aldawam , Markaz Al3amal )

2- اذا كان معلم يعمل الزر على نقل بيانات الموظف  إلى أربع جداول ( Alwa6eifiyah , Ejazat Aldawam , Ejazat Almar7ala , Markaz Al3amal )

3- اذا كان اداري مدارس يعمل الزر على نقل بيانات الموظف  إلى أربع جداول ( Alwa6eifiyah , Ejazat Almar7ala , Markaz Al3amal ) وكذلك جدول Sekertaryah بشرط يكون شؤون طلبة من حقل Stage 

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

أكرر أسفي 

ودمت بخير 

 

123.rar

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information