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

[ تمت الإجابة ]كيف اجعل نموذج الاستعلام دقيق و بنفس الوقت يقبل الحقول الفارغة

بدأه amma271 في 15 مايو 2010 · 6 رد · 578 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني عملت نموذج لاستعلام حيث يتم تعبئة خانات النموذج ثم الضغط على زر لتشغيل الاستعلام

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

SELECT t1.name, t1.id, t1.age, t1.company
FROM t1
WHERE (((t1.name)=forms!f1!txt1) And ((t1.id)=forms!f1!txt2) And ((t1.age)=forms!f1!txt3) And ((t1.company)=forms!f1!txt4));

أما اذا وضعت الرابطة OR يزول الاشكال و لكن تكون النتائج غير دقيقة بحيث مثلا اذا اردت شخص عمره 30 و اسمه علي يعطيني اي شخص عمره 30 و اي شخص اسمه علي و بكذا ممكن يظهر في النتيجة واحد عمره 25

المطلوب: أريد أن اجمع بين دقة البحث و امكانية ترك احد حقول البحث فارغة و يعطيني اجابة نفس لو اني ملأت جميع الحقول.

(قاعدة البيانات في المرفقات)

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

db1.rar

سبحان الله و بحمده عدد خلقه و رضا نفسه و زنة عرشه و مداد كلماته

#2

تفضل اخى العزيز

جرب النموذج الان و اخبرنى بالنتيجة

و لا تنسانى بدعائك

db1.rar

1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

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

لو في طريقه تانيه بيكون افضل كمان

زي ما بيقولو ا زيادة الخير

خيرين

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

سبحان الله وبحمده سبحان الله العظيم

سبحان الله . الحمد لله . لا اله الا الله . الله اكبر

استغفر الله . استغفر الله . استغفر الله

#4

السلام عليكم

أخي العزيز mrnooo2000 بارك الله فيك و غفر لك و لوالديك

الطريقة فعالة

لم أكن أتوقع أن الحل بواسطة الـ VBA و انما كانت كل محاولاتي على الـSQL مباشرة

و إليك هدية :

قال رسول الله صلى الله عليه و آله و صحبه وسلم:

(أحب الناس إلى الله تعالى أنفعهم للناس ، و أحب الأعمال إلى الله عز وجل سرور يدخله على مسلم ، أو يكشف عنه كربة ، أو يقضي عنه دينا ، أو تطرد عنه جوعا ، و لأن أمشي مع أخ في حاجة أحب إلي من أن اعتكف في هذا المسجد ، يعني مسجد المدينة شهرا ، و من كف غضبه ستر الله عورته ، و من كظم غيظه ، و لو شاء أن يمضيه أمضاه ملأ الله قلبه رجاء يوم القيامة ، و من مشى مع أخيه في حاجة حتى تتهيأ له أثبت الله قدمه يوم تزول الأقدام ، [ و إن سوء الخلق يفسد العمل ، كما يفسد الخل العسل ]) . صححه الألباني رحمه الله.

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

1- جملة IIF صيغتها التي انت كتبتها لم افهمها

IIf(i = 1, ") AND (", "")

لأنه عادة أشوفها مثلا على الشكل

IIf(i = 1, "T", "g")

2- هذا السطر

CurrentDb.QueryDefs("q1").SQL = strsql

اتمنى تشرحه بشكل موجز

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

سبحان الله و بحمده عدد خلقه و رضا نفسه و زنة عرشه و مداد كلماته

#5

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

بالنسبة للجلمة

IIf(i = 1, ") AND (", "")

فإنها في حالة تحقق الشرط يكون الناتخ هو

 ") AND ("

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

(x=1) and (y=2)
#6
amma271 كتب:

السلام عليكم

أخي العزيز mrnooo2000 بارك الله فيك و غفر لك و لوالديك

الطريقة فعالة

لم أكن أتوقع أن الحل بواسطة الـ VBA و انما كانت كل محاولاتي على الـSQL مباشرة

و إليك هدية :

قال رسول الله صلى الله عليه و آله و صحبه وسلم:

(أحب الناس إلى الله تعالى أنفعهم للناس ، و أحب الأعمال إلى الله عز وجل سرور يدخله على مسلم ، أو يكشف عنه كربة ، أو يقضي عنه دينا ، أو تطرد عنه جوعا ، و لأن أمشي مع أخ في حاجة أحب إلي من أن اعتكف في هذا المسجد ، يعني مسجد المدينة شهرا ، و من كف غضبه ستر الله عورته ، و من كظم غيظه ، و لو شاء أن يمضيه أمضاه ملأ الله قلبه رجاء يوم القيامة ، و من مشى مع أخيه في حاجة حتى تتهيأ له أثبت الله قدمه يوم تزول الأقدام ، [ و إن سوء الخلق يفسد العمل ، كما يفسد الخل العسل ]) . صححه الألباني رحمه الله.

اشكرك اخى

و لك مثله ان شاء الله و وفقنا الله و اياكم الى ما يحبه و يرضاه

amma271 كتب:

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

1- جملة IIF صيغتها التي انت كتبتها لم افهمها

IIf(i = 1, ") AND (", "")

لأنه عادة أشوفها مثلا على الشكل

IIf(i = 1, "T", "g")

نعم اخى

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

amma271 كتب:

2- هذا السطر

CurrentDb.QueryDefs("q1").SQL = strsql

اتمنى تشرحه بشكل موجز

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

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

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#7
ym2ponline كتب:

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

بالنسبة للجلمة

IIf(i = 1, ") AND (", "")

فإنها في حالة تحقق الشرط يكون الناتخ هو

 ") AND ("

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

(x=1) and (y=2)

بارك الله فيك أخي

mrnooo2000 كتب:

اشكرك اخى

و لك مثله ان شاء الله و وفقنا الله و اياكم الى ما يحبه و يرضاه

نعم اخى

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

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

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

بارك الله فيك اخي على التوضيح وزادك علما نافعا و عملا صالحا

سبحان الله و بحمده عدد خلقه و رضا نفسه و زنة عرشه و مداد كلماته

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

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

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

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

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