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

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

قام بنشر (معدل)

السلام عليكم ، تقبل الله طاعتكم و غفر لكم و بارك لكم في عيدكم و أعاده بالخير و اليمن و البركة .
لقد طرحت سؤالاً سابقاً عن إمكانية تحديث جدول باستعلام دفعة واحدة .

و قام الأخوة

@kaser906

@ابا جودى

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

و لدى البحث في الموقع وجدت بعض المشاركات للأخ

@jjafferr

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

فهل من طريقة لجعل الاستعلام في المرفق يعمل بأكثر من شرط ؟

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

تحديث كامل الجدول.accdb

تم تعديل بواسطه Khalf
قام بنشر
  في 19‏/8‏/2018 at 17:46, Khalf said:

فهل من طريقة لجعل الاستعلام في المرفق يعمل بأكثر من شرط ؟

Expand  

ممكن تشرح لنا المطلوب بالتفصيل 
اي تريد ان يتم تحديث اي حقل وبأي بيانات و بأي شروط

قام بنشر (معدل)
  في 19‏/8‏/2018 at 18:56, Shivan Rekany said:

ممكن تشرح لنا المطلوب بالتفصيل 
اي تريد ان يتم تحديث اي حقل وبأي بيانات و بأي شروط

Expand  

كل و أنت بألف ألف خير ...

أستاذي الكريم .

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

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

و يكون التحديث بالرر الأول بتشغيل استعلام  بشرط و احد

و في الزر الثاني بتشغيل استعلام بشرطين .

أبحث عن طريقة بأمر فيجوال إن أمكن إضافة إلى طلبي السابق بجعل الاستعلام يعمل بأكثر من شرط .

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

و أحمد الله أن السؤال حظي بانتباهكم .

 

تم تعديل بواسطه Khalf
قام بنشر
  في 19‏/8‏/2018 at 19:03, Khalf said:

أبحث عن طريقة بأمر فيجوال إن أمكن إضافة إلى طلبي السابق بجعل الاستعلام يعمل بأكثر من شرط .

Expand  

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

Private Sub Command18_Click()
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE Table1 SET Table1.DATE4 = DMin(""[dATE3]"",""table1"","" [name11] ='"" & [name11] & ""'"" And ""[date4] <#"" & [date4] & ""#"");"
    DoCmd.SetWarnings True
    Me.Requery
End Sub

وهذا بشرط واحد

Private Sub Command19_Click()
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE Table1 SET Table1.DATE4 = DMin(""[DATE3]"",""[Table1]"","" [name11]='"" & [name11] & ""'"");"
    DoCmd.SetWarnings True
    Me.Requery
End Sub


 

تحديث كامل الجدول.accdb

قام بنشر

شكراً لك و ألف شكر 

 

أستاذي الفاضل ..

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

عند الضغط عليه يعمل الاستعلام و كأن الدالة

Dmax

بلا شروط ..

لم أعرف ماذا أفعل كي أجعل الاستعلام يعمل بشرطين ..

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

Dmax

دون مراعاة أية شروط ..

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

أعلم أني أتعبتك .. و أسأل الله أن ييسر أمرك كله .

قام بنشر
  في 19‏/8‏/2018 at 19:42, Khalf said:

عند الضغط عليه يعمل الاستعلام و كأن الدالة

Dmax

بلا شروط ..

Expand  

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

قام بنشر
  في 19‏/8‏/2018 at 19:49, Shivan Rekany said:

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

Expand  
DMin("[dATE3] ";"table1";" [name11] ='" & [name11] & "'" And "[date4] <#" & [date4] & "#")

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

 لكافة السجلات

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

 

شكراً لك و بارك الله بك ... دعوة بالسر و العلن في هذه الليلة المباركة.

قام بنشر
  في 19‏/8‏/2018 at 19:56, Khalf said:
DMin("[dATE3] ";"table1";" [name11] ='" & [name11] & "'" And "[date4] <#" & [date4] & "#")

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

Expand  

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

DMin("[dATE3] ";"table1";

بأصغر قيمة للحقل dATE3 في جدول Table1 بشرط 

" [name11] ='" & [name11] & "'"

الاسم في حقل الاسم بيكون يساوي الاسم
 

" [name11] ='" & [name11] & "'"

وايضا التاريخ في حقل داتا4 بيكون يساوي او اصغر من التاريخ داتا4
 

And "[date4] <#" & [date4] & "#")

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

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

قام بنشر

أستاذي 

@Shivan Rekany

 

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

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

شكراً لك من كل قلبي ...

و جزاك الله كل خير ...

 

قام بنشر
  في 19‏/8‏/2018 at 20:50, Khalf said:

و إنما سيأخذ شرطاً واحداُ فقط .....

Expand  

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

قام بنشر
  في 19‏/8‏/2018 at 20:54, Shivan Rekany said:

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

Expand  

البرنامج في أصله من أجل تحديد ولاية عضو في مجلس إدارة

عند انتخابه مرة ثانية أضغط زر التحديث فيقوم بتسجيل تاريخ نهاية ولايته السابقة بحساب تاريخ انتخابه الجديد - 1

اعتمدت الدالة DMAX أو  DMIN

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

 

آمل أن تكون فكرتي اتضحت ....

و شكراً لك على أي حال

قام بنشر
  في 19‏/8‏/2018 at 20:58, Khalf said:

اعتمدت الدالة DMAX أو  DMIN

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

Expand  

انتبه جيدا هل انا فهمت من قصدك بالضبط ام  لا 
هل تريد مثلا لسجل اول اسمه حسن يبحث لهذا الاسم و بعدين يمسك باعلى تاريخ لهذا الاسم في الحقل dATE3 ويعطي هذا التاريخ للحقل DATE4 لهذا الاسم 
مثال : الاسم حسن .... التواريخ تابعه في حقل dATE3 هما 02/03/2000 و 01/11/2000 هل تريد ان يعطي التاريخ الاكبر وهو 01/11/2000 في الحقل DATE4 ؟ هذا صحيح ؟
وهذا لكل اسم 

  • Thanks 1
قام بنشر
  في 20‏/8‏/2018 at 13:21, Shivan Rekany said:

انتبه جيدا هل انا فهمت من قصدك بالضبط ام  لا 
هل تريد مثلا لسجل اول اسمه حسن يبحث لهذا الاسم و بعدين يمسك باعلى تاريخ لهذا الاسم في الحقل dATE3 ويعطي هذا التاريخ للحقل DATE4 لهذا الاسم 
مثال : الاسم حسن .... التواريخ تابعه في حقل dATE3 هما 02/03/2000 و 01/11/2000 هل تريد ان يعطي التاريخ الاكبر وهو 01/11/2000 في الحقل DATE4 ؟ هذا صحيح ؟
وهذا لكل اسم 

Expand  

بارك الله بك

ما أبحث عنه

في المثال استخدام Dmin 

أريد أن يبحث لكل اسم على أصغر تاريخ و لكن أكبر من التاريخ الخاص بالسجل

مثلاً محمد .. لديه ثلاث ولايات

السجل ١: ١١/٢/٢٠٠٠

السجل ٢: ١/١/١٩٩٨

السجل٣: ١/١/٢٠١٠

أريد أن يضع في الحقل date4 في السجل ١

١/١/٢٠١٠

و في السجل ٢ ١١/٢/٢٠٠٠

و يبقى السجل ٣ فارغاً 

و ذلك لكل اسم لأن الدالة كما وضعت شروطها لم تعمل .

قام بنشر (معدل)

جزاك الله كل خير و وهبك من عطاياه الجزيلات و وسع رزقك و بارك بعمرك و هداك سبله  ، أنت و كل من قرأ .

آمين آمين آمين 

و كل عام و أنت بخير 

تم تعديل بواسطه Khalf
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information