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

الكل في معايير الاستعلام ؟

مغلق
بدأه VB.Net في 2 مارس 2002 · 13 رد · 1,659 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

صممت نموذج يحتوي قائمة ليختار المستخدم منها

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

ثم اضفت للقائمة ومصدرها قائمة قيم كلمة ( الكل ) كيف استعملها في الاستعلام ليعرض جميع القيم

حاولت وضع قيمة Like"*" للاستعلام ولكنها لاتعمل المطلوب

بارك الله فيكم

#2

لم أفهم المقصود

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

ثم ماذا تقصد بـــ " ثم اضفت للقائمة ومصدرها قائمة "

اخي انت تشرح وانت تعرف محتوى برنامجك ولكن بالنسبة لي لم أفهم فياليت وأن توضح أكثر وابشر بما نستطيع0

#3

تسلم عزيزي

نعم الاستعلام مشروط يعرض القيم المحددة من المستخدم وهذه القيم موجود ضمن قائمة

تمام

ماذا تفعل لو اردت من الاستعلام ان يعرض جميع القيم تحذف المعيار صحيح

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

#4

اخي الكريم

جرب ما ورد في الرابط التالي وأن لم يفيدك فأخبرنا بذلك وستجد الحل بإذن الله 0

http://arabteam.nicmatic.com/vb/showthread...%CA%DA%E1%C7%E3

#5

نموذج يحتوي مربع قائمة باسم المستوى المطلوب

وتاخذ واحدة من : (الاول - الثاني - الثالث - الرابع - جميع المستويات)

يوجد نموذج فرعي ياخذ البيانات من استعلام مبني على مربع القائمة السابق

عندما اختار الاول أو الثاني أو الثالث أو الرابع يظهر لي النموذج الفرعي البيانات الموافقة مع الاختيار

عندما اختار الخيار الاخير (جميع المستويات)

استعملت نص برمجي لتغيير مصدر السجل للنموذج الفرعي الي الجدول الاساسي وهذا يعمل معي

ولكن لا اريد عرض البيانات الا من خلال الاستعلام لضمان عدم التعديل عليها

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

#6

اذا كنت تستعمل SQL كمرجع للنموذج الفرعي يمكنك استعمال مثل هذه الصيغة

استعلام مشروط

SQL = "SELECT * FROM الجدول WHERE (المستوى.الجدول)=[forms]![نموذج1]![المستوى المطلوب])"

استعلام غير مشروط

SQL2 = "SELECT * FROM الجدول"

الجدول : اسم الجدول في قاعدة بياناتك

نموذج1 : النموذج الاساسي

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

وتبدل فيما بين القيم السابقة بناء على العنصر الذي تختارة من القائمة

يمكنك استعمال SQL2 بوضعها ضمن جمله IF لفحص القيمة المختارة اذا كانت جميع السجلات يتم استعمالها

بالتوفيق

#7

ضع في الاستعلام في نفس المعيار الموجود حاليا :

IIf([forms]![اسم النموذج الذي عليه القائمة]![المستوى]="الكل";[الحقل الذي فيه هذا المعيار];[forms]![اسم النموذج الذي عليه القائمة]![المستوى])

هناك حل آخر أيضا :

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

If Me![اسم القائمة] <> "الكل" Then
[اسم النموذج الفرعي].LinkChildFields = "اسم الحقل الذي كان فيه المعيار في الاستعلام"
[اسم النموذج الفرعي].LinkMasterFields = "اسم القائمة"
Else
[اسم النموذج الفرعي].LinkChildFields = ""
[اسم النموذج الفرعي].LinkMasterFields = ""
End If

ولك تحياتي

#8

طريقتين أخريين إذا كان النموذج الفرعي مصدره نموذج وليس استعلام :

If Me![اسم القائمة] <> "الكل" Then
[اسم النموذج الفرعي].Form.Filter = "[اسم الحقل الذي فيه المعيار]='" & Me![اسم القائمة] & "'"
[اسم النموذج الفرعي].Form.FilterOn = True
Else
[اسم النموذج الفرعي].Form.FilterOn = False
End If

طريقة أخرى :

If Me![اسم القائمة] = "الكل" Then
[اسم النموذج الفرعي].Form.RecordSource = "عبارة SQL بدون معيار"
Else
[اسم النموذج الفرعي].Form.RecordSource = "عبارة SQL بالمعيار"
End If

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

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

#9

شكر شكرا شكرا

ماقصرتوا

فيه سؤال مهم

اقدر استعمل متغير مثل

Dim BB AS String

واضع فيه قيمة

BB="المستوى الأول"

اقدر احط المتغير هذا في معايير الاستعلام

مشكورينننننننننننن

#10

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

BB()

ولك تحياتي

#11

بواسطة SQL يمكن عمل ماتريد

وفي حالتك اذا كان المتغير المسمى bb تستعمله بهذه الطريقة

SQL="SELECT * FROM اسم الجدول WHERE [المستوى] = '" &(BB)& '"

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

بالتوفيق

#12

الله يعطيكم العافية

كفيتم ووفيتم

#13

حاولت تطبيق هذا ولم يعمل ارجو المساعدة

SELECT 0, "<< جميع الفروع >>" BranchList.BrName FROM BranchList;
#14

استعلام التوحيد يتميز بوجود UNION ضمن جملة SQL

بهذا الشكل

SELECT 0, "<< All Employees >>" FROM اسم الجدول UNION (SELECT DISTINCTROW [Employees].[EmployeeID], [Employees].[LastName]& ", "&[Employees].[FirstName] FROM [Employees]);

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

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