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

كيفية البحث حسب اللقب

بدأه oajnaf في 25 أكتوبر 2014 · 9 رد · 1,746 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اريد البحت في الحدث key press حسب اللقب

مثلا انا عندي اسم ( اسامة احمد نصر العربي)

عند كتابة العربي في تكست بوكس يقوم بفلترت الاسماء و الا يبقى الا الاسم الدي لقبه العربي

قمت بكتابة الكود تالي في keypress event لكنه يبحث من بداية الاسم

SELECT table
SET ORDER TO fieldname
GO top
thisform.grid1.Refresh
(lnKey = alltrim(this.value
SET KEY  TO lnKey
GO top
thisform.grid1.Refresh
GO top

 
 
#2

اخي العزيز

توجد الكثير من الطرق للبحث او الاستعلام والافضل ان تكون لكامل الاسم او جزء منهُ عند كتابتهُ في حقل الخاص بالبحث

هذا اذا كان الاسم كاملاً في عمود واحد في جدول

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

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

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

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

LION.zip

#3

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

#4

يوجد دالة داخل الفوكس برو اسمها

atc

الغرض من تلك الدالة هو البحث عن مقطع معين داخل النص

فمثلا اذا كنت تريد البحث عن جميع الاسماء التى تحتوى على كلمة "mohammed" سوف تكتب

atc("mohammed",textbox1.value)>0

سوف يكون بالبحث عن جميع الاسماء التى تحتوى على كلمة mohammed

ويمكنك دمج تلك الدالة داخل الاس كيو ال

select * from table1 where atc("mohammed",table1.names)>0

#5

مشكور  alaa_mokhtar اشتغل الكود في الاس كيو ال لكن لم اسطع تنفيده في كل من loacte for و scan for

#6

بارك الله فيكم على المتابعة 

ويوجد كما ذكرت الكثير من الطرق للبحث عن الاسم محدد او جميع الاسماء اذا كتبت حرف مثلاً 

ولكن كان محدد موضوعه عن اللقب فقط ... اليس كذلك؟

اتمنى ان تتطور الافكار بهذا الخصوص 

وتحياتي

على الجميع المشاركة

#7

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

#9

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

 

جرب التالي..

CREATE CURSOR test ( ename c (100))
INDEX ON ename TAG ename
INSERT INTO test VALUES ("....العربي....")
INSERT INTO test VALUES ("العربي .....")
INSERT INTO test VALUES ("..... العربي ....")
INSERT INTO test VALUES ("....العربي")
INSERT INTO test VALUES (".... العربي ..")
INSERT INTO test VALUES ("..... العربي")
INSERT INTO test VALUES ("..................العربي")
m.lcSearchFor="العربي"
m.lnLen=LEN(m.lcSearchFor)
SELECT ename FROM test WHERE m.lcSearchFor$RIGHT(ALLTRIM(ename),m.lnLen)
* OR
LOCATE FOR m.lcSearchFor$RIGHT(ALLTRIM(ename),m.lnLen)
IF FOUND()

ENDIF

مع التحية

أستغفر الله العظيم و أتوب إليه

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