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

العودة   منتديات الجلفة لكل الجزائريين و العرب > منتديات التقنية > منتدى البرمجة

منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل...

في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة تقرير عن مشاركة سيئة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .

آخر المواضيع

المساعدة في عملية البحث بثلاث حقول

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 2009-04-11, 21:05   رقم المشاركة : 1
معلومات العضو
بورمله
عضو متألق
 
الصورة الرمزية بورمله
 

 

 
الأوسمة
وسام العضو المميّز في منتديات الخيمة 
إحصائية العضو










افتراضي

كيف تبحث في أكثر من حقل بإستخدام تعليمة Locate :

يمكن البحث بإستخدام تعليمة Locate في أكثر من حقل بحيث نبحث عن الموظف حسب حقل الإسم الأول و حقل الإسم الثاني . فإذا كان حقل الإسم الأول F_name والإسم الثاني L_name والقيم في Edit1 و Edit2 على التوالي أمكننا ببساطة كتابة الشفرة التالية :

SQL

if not ClientDataSet1.Locate( 'F_Name;L_Name',vararrayof([edit1.Text,Edit2.Text]),[]) then

showmessage( 'Filed Not Found');

ويتم ذلك بفصل الحقول المراد البحث فيها بفاصلة منقوطة , وفصل القيم بإستخدام الدالة VarArrayOf









 


رد مع اقتباس
قديم 2009-04-11, 22:00   رقم المشاركة : 2
معلومات العضو
medreg
عضو مشارك
 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة dragon1 مشاهدة المشاركة
كيف تبحث في أكثر من حقل بإستخدام تعليمة Locate :

يمكن البحث بإستخدام تعليمة Locate في أكثر من حقل بحيث نبحث عن الموظف حسب حقل الإسم الأول و حقل الإسم الثاني . فإذا كان حقل الإسم الأول F_name والإسم الثاني L_name والقيم في Edit1 و Edit2 على التوالي أمكننا ببساطة كتابة الشفرة التالية :

SQL

if not ClientDataSet1.Locate( 'F_Name;L_Name',vararrayof([edit1.Text,Edit2.Text]),[]) then

showmessage( 'Filed Not Found');

ويتم ذلك بفصل الحقول المراد البحث فيها بفاصلة منقوطة , وفصل القيم بإستخدام الدالة VarArrayOf
جزاكم الله عنا كل خير
وشكرًا على المساعدة
لكن ارجو وضع الكود بالكامل لو سمحت لأنني لم أتعامل قط بSQL
ارجو وضع الكود كاملاً من فضلك والبحث يتم بما هو موضح في هذا السطر
if not Query1.Locate( 'Chapitre;Groupe;Classe',vararrayof([edit1.Text,Edit2.Text,Edit3.Text]),[]) then
showmessage( 'Filed Not Found');









رد مع اقتباس
قديم 2009-04-12, 00:05   رقم المشاركة : 3
معلومات العضو
بورمله
عضو متألق
 
الصورة الرمزية بورمله
 

 

 
الأوسمة
وسام العضو المميّز في منتديات الخيمة 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة medreg مشاهدة المشاركة
جزاكم الله عنا كل خير
وشكرًا على المساعدة
لكن ارجو وضع الكود بالكامل لو سمحت لأنني لم أتعامل قط بSQL
ارجو وضع الكود كاملاً من فضلك والبحث يتم بما هو موضح في هذا السطر
if not Query1.Locate( 'Chapitre;Groupe;Classe',vararrayof([edit1.Text,Edit2.Text,Edit3.Text]),[]) then
showmessage( 'Filed Not Found');
اذا كنت تستعمل قاعدة بيانات واحدة لماذا تستعمل query
استعمل dataset1
مثل
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ABSdos1.Locate( 'nom;prenom;boitedos',vararrayof([edit1.Text,Edit2.Text,Edit3.Text]),[]) then

showmessage( 'Filed Not Found');
end;









رد مع اقتباس
قديم 2009-04-12, 09:11   رقم المشاركة : 4
معلومات العضو
medreg
عضو مشارك
 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة dragon1 مشاهدة المشاركة
اذا كنت تستعمل قاعدة بيانات واحدة لماذا تستعمل query
استعمل dataset1
مثل
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ABSdos1.Locate( 'nom;prenom;boitedos',vararrayof([edit1.Text,Edit2.Text,Edit3.Text]),[]) then

showmessage( 'Filed Not Found');
end;
شكرًا جزيلاً لقد وضعت الكود كما اعطيتني اياه
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if not Table1.Locate( 'Chapitre;Groupe;Classe',vararrayof([edit1.Text,Edit2.Text,Edit3.Text]),[]) then
showmessage( 'Filed Not Found');
end;

لكن المقصود ليس انتقال المؤشر الى السجل
بل اقصد إظهار كل التسجيلات التي تحمل نفس القيم بمعنى
لنفرض انني وضعت في Edit1 = 01 و Edit2 = 01 و Edit3 =01
فاثناء البحث وجد أربع زبائن يحملون نفس القيم كهذا المثال :

الزبون المسمى محمد يحمل رقم الباب 01 ورقم الفصل 01 ورقم الصنف 01
الزبون المسمى علي يحمل رقم الباب 01 ورقم الفصل 01 ورقم الصنف 01
الزبون المسمى كرم يحمل رقم الباب 01 ورقم الفصل 01 ورقم الصنف 01
الزبون المسمى اسماعيل يحمل رقم الباب 01 ورقم الفصل 01 ورقم الصنف 01

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









رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

الساعة الآن 12:15

المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية


2006-2024 © www.djelfa.info جميع الحقوق محفوظة - الجلفة إنفو (خ. ب. س)

Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc