اذهب الي المحتوي
أوفيسنا

المعادلة تعمل من الجدول مباشر ولا تعمل فى الاستعلام


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

السلام عليكم
أرجو إن يكون هناك حل لهذه  المشكلة

فى البداية نبذه عن الموضوع
الموضوع هو مصروفات ولى الأمر المجمعة للأبناء داخل المدرسة لذلك
قمت بعمل دالة فى استعلام بفصل اسم ولى الأمر عن اسم الطالب وهذه الدالة مبنية على وحدة نمطية  لتخفيف الجهد والعبء على المستخدم بعدم كتابة اسم ولى الأمر فى الجدول وخاصة ان ممكن تصل السجلات إلى أكثر من 3000 سجل وقد نجحت فى ذلك والحمد لله
ومن هنا تأتى المشكلة بان حقل اسم ولى الأمر فى الاستعلام لا يقبل التعامل مع اى معدله مثال
وضعت هذه المعادلة فى معيار حقل ولى الامر لاستخراج اسم ولى الامر المكرر لم تقبل المعادلة  التفعيل ولكن حين استخدم هذه المعادلة فى الجدول مباشر تقبل التفعيل وتعطى النتائج جيدة
  In (SELECT [اسم ولى الامر] FROM [جدول أ] As Tmp GROUP BY [اسم ولى الامر] HAVING Count(*)>1 )
مما جعلني ان الجأ إلى طريقة غير احترافية وهى القيام بنسخ بيانات اسم ولى الأمر من الاستعلام الى الجدول لتفعيل المعادلة لأهميتها فى البرنامج لذلك ارجو من حضرتكم ايجاد حل لذلك
------------------------
أسف على الإطالة فى انتظار أرائكم للحل
ملحوظة استعلام الاسماء المكررة لايعمل بالمعادلة لانه مبنى على الاستعلام
واستعلام الاسماء المكررة 1 يعمل بالمعادلة لانه على الجدول مباشر

الناجحين.rar

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

هلا أستاذ حمدي

إن شاء الله تكون بخير

ويتقبل الله منكم ومنا صالح الأعمال

 

بالنسبة للنقطة دي واجهتني من قبل

وقرأت عنها

وهي أحد أنواع الاستعلامات غير القابلة للتحديث

وفي هذا النوع

يتم استخدام أوامر التجميع

totals

مثل

group-by

أو

sum()    Max()    min() 

إلى آخره

فتجعل الاستعلام غير قابل لعمل تحديث بيانات

وملخص بحثي عن حل لهذه النقطة توصلت إلى وجود ثلاثة حلول:

الحل الأول

استخدام

Dsum , Dcount,Dmax

وهكذا

بدلا من

sum,count,max

 

والحل الثاني

استخدام دالة في موديول بحيث تمرر اثنين من 

RecordSet

احداهما لهذا الاستعلام والآخري للجدول الذي تريد تحديثه

 

والحل الثالث

هو جدول وسيط أو مؤقت كما تفضلت وذكرته

 

والأخير أفضل الحلول وأشهرها

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

 

 

 

 
 

 

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

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

استخدام دالة في موديول بحيث تمرر اثنين من 

RecordSet

احداهما لهذا الاستعلام والآخري للجدول الذي تريد تحديثه

ولكن خبرتى لا تسمح بذلك فما عليه الا الانتظار ربما احد يجد لى مخرج لحل هذه المشكلة لك جزيل الشكر

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

الله يسعدك أستاذنا

وأتمنى اشوفك دايما محلول المشاكل

هههههههه

وطالما أنت طلبت الحل الثاني يبقى هنختار الحل الثالث

هههههه أمزح معك

الفكرة أنك في موضوع مشابه كنت عاوز رقم تلقائي لولي الأمر

وأنا اخترت طريقة الجدول الوسيط

وجهزت الحل

ولو تيسر أمامي الوقت والتركيز فسأحاول عمل الطريقة الثانية

بس مشغول شوية في برنامج مخازن

والمرفق به اثنين من الجداول الوسيطة

وممكن أعدل لك الكود بحيث لو متضايق من وجودهم

نحذفهم ونعمل كود انشاء تلقائي لهم ثم حذف تلقائي ايضا ولن يظهرا أبدا

 

جرب وأخبرني بالنتيجة

fathers 2.rar

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

حبيبى استاذ جمال والله انا مش عارف اقولك ايه مجهود جميل ورائع بس للاسف حضرتك مش فاهم الفكرة كويس او انا مش عارف اوصلهالك بص كل اللى انت عملته كويس بس كان ممكن الخصه فى انى اعمل فرز لاسم ولى الامر وهيطلع تحت بعضه بس مش ديه المشكلة المشكلة ان عايز احجز ولى الامر اللى له اولاد فى استعلام لوحدة لذلك كنت عايز افعل الكود السابق   In (SELECT [اسم ولى الامر] FROM [جدول أ] As Tmp GROUP BY [اسم ولى الامر] HAVING Count(*)>1 )
هى دة كل المشكلة بس والله انت حد جميل وراقى وشخص كريم ربنا يعزك

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

1 hour ago, حمدى الظابط said:

 انا عايز احجز ولى الامر اللى له اولاد فى استعلام لوحدة

يا باشا عندك استعلام انت اللي عمله

اسمه في المرفق السابق

fathers_name

به كل أسماء أولياء الأمور وأعداد أولادهم

واذا كنت تريد من لديهم أكثر من ابن

فعليك فتح الاستعلام ثم وضع معيار

أكبر من صفر

في حقل الاستعلام عدد الأخوات

 

http://do.php?img=329732

 

تم تعديل بواسطه Gamal.Saad
رابط هذا التعليق
شارك

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

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

أستاذ حمدي

كيف حالك؟ إن شاء الله تكون بخير

 

20 hours ago, حمدى الظابط said:

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

اذا كان هناك بطء

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

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

هذه يأخذ وقتا غير ضرورياً

 

بالنسبة لاضافة أسماء ليتم التحديث بصورة تلقائية

عليك نقل الأوامر الموجوده في زر

run

إلى حدث

اغلاق نموذج التسجيل لطالب جديد

فسوف يعمل ويحسب لك أخواته تلقائيا

 

بالنسبة لطريقة أسهل من ذلك

فأعتقد أنه لا يوجد فيها أي شيئ صعب

كلها استعلامات اختيار ثم الحاق فتجميع فتحديث

 

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

وبرغم ذلك لا نغلق الباب أمام الزملاء للبحث عن حل أسهل 

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

 

 

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

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

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

2 minutes ago, حمدى الظابط said:

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

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

وأحبك الله الذي أحببتني فيه

 

تمام

بالتوفيق ومنتظرين الجديد إن شاء الله

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

15 ساعات مضت, حمدى الظابط said:

السلام عليكم
أرجو إن يكون هناك حل لهذه  المشكلة

 

فى البداية نبذه عن الموضوع
الموضوع هو مصروفات ولى الأمر المجمعة للأبناء داخل المدرسة لذلك
قمت بعمل دالة فى استعلام بفصل اسم ولى الأمر عن اسم الطالب وهذه الدالة مبنية على وحدة نمطية  لتخفيف الجهد والعبء على المستخدم بعدم كتابة اسم ولى الأمر فى الجدول وخاصة ان ممكن تصل السجلات إلى أكثر من 3000 سجل وقد نجحت فى ذلك والحمد لله
ومن هنا تأتى المشكلة بان حقل اسم ولى الأمر فى الاستعلام لا يقبل التعامل مع اى معدله مثال
وضعت هذه المعادلة فى معيار حقل ولى الامر لاستخراج اسم ولى الامر المكرر لم تقبل المعادلة  التفعيل ولكن حين استخدم هذه المعادلة فى الجدول مباشر تقبل التفعيل وتعطى النتائج جيدة
  In (SELECT [اسم ولى الامر] FROM [جدول أ] As Tmp GROUP BY [اسم ولى الامر] HAVING Count(*)>1 )
مما جعلني ان الجأ إلى طريقة غير احترافية وهى القيام بنسخ بيانات اسم ولى الأمر من الاستعلام الى الجدول لتفعيل المعادلة لأهميتها فى البرنامج لذلك ارجو من حضرتكم ايجاد حل لذلك
------------------------
أسف على الإطالة فى انتظار أرائكم للحل
ملحوظة استعلام الاسماء المكررة لايعمل بالمعادلة لانه مبنى على الاستعلام
واستعلام الاسماء المكررة 1 يعمل بالمعادلة لانه على الجدول مباشر

 

الناجحين.rar

استأذن من استاذنا @Gamal.Saad

اخي الحبيب

السبب يرجع لانك استخدمت هذه المعادلة فس استعلام 1 لكي تحصل على اسم ولي  الامر

اسم ولى الامر: [XA2]+" "+[XA3]+" "+[XA4]+" "+[XA5]+" "+[XA6]

ولان عندك اسم ولي الامر في جدول لذا لا داعي لذلك

لذا فس استعلام1 خذ اسم الولي الامر من الجدول

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

القي نظرتا الى المرفق

 

الناجحين (1).rar

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

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

اسم ولى الامر: [XA2]+" "+[XA3]+" "+[XA4]+" "+[XA5]+" "+[XA6]

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

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

الان, حمدى الظابط said:

زر نسخ لحقل اسم ولى الامر من استعلام 1 ولصقه الى حقل اسم ولى الامر فى جدول أ

اعمل هذا استعلام ... استعلام تحديث

UPDATE [استعلام 1] INNER JOIN [جدول أ] ON [استعلام 1].[رقم الملف] = [جدول أ].[رقم الملف] SET [جدول أ].[اسم ولى الامر] = [استعلام 1]![اسم ولى الامر];

وقم بتشغيل الاستعلام بواسطة اي زر تريد

سيتم نقل كل الاسماء في استعلام 1 الى جدول أ

 

الناجحين.rar

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

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

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

الان, حمدى الظابط said:

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

بعد تحديث للحقول اسم و ا سم الاب و اسب الجد و اب الجد واللقب او الجد الجد هههههههه 

اكتب المعادلة

[اسم ولي الامر]=[XA2]&" "&[XA3]&" "&[XA4]&" "&[XA5]&" "&[XA6]

واذا ما فمت من قصدي ارفق النموذج التسجيل لكي اعمل العملية :fff:

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

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

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

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

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



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

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

Important Information