برگزیده های پرشین تولز

يك سوال ساده در مورد دلفي

tina_f

کاربر تازه وارد
تاریخ عضویت
9 سپتامبر 2004
نوشته‌ها
24
لایک‌ها
0
براي جستجوي يك فيلد از يك بانك در دلفي بهترين روش كدام است ؟
 

tina_f

کاربر تازه وارد
تاریخ عضویت
9 سپتامبر 2004
نوشته‌ها
24
لایک‌ها
0
مر30 آر ام بي علي
جوابت خيلي خوب بود
از همكاريت بينهايت ممنون :)
 

Mavis

کاربر تازه وارد
تاریخ عضویت
3 مارس 2004
نوشته‌ها
19
لایک‌ها
0
سن
41
محل سکونت
Tabriz
سلام. من هم بگم؟
دستور كلي
[o] Table1.Locate('Field1', VarArray, [loPartialKek, loCaseInsensitive]); [o]
مثال
[o] MyTable.Locate('Name', MyEdit.Text, [loPartialKey]); [o]
اگه نيازي باشه بيشتر هم توضيح ميدم ولي بهترين نوع جستجو از جدول اين حالت مي باشد.
 

tina_f

کاربر تازه وارد
تاریخ عضویت
9 سپتامبر 2004
نوشته‌ها
24
لایک‌ها
0
ماويس عزيزم سلام
باز هم تشكر از جوابت ولي راست ميگي اگه يه كم بيشتر توضيح بدي ممنون ميشم
مي دوني مي خوام از داخل بانك مثلا يه جستجو بر اساس شماره عضويت انجام بدم يعني يه كليد باشه كه وقتي روش كليك مي شه جستجو رو انجام بده و مورد جستجو شده در يك دي بي اديت نوشته بشه و ترجيحا ليست بانك در يك دي بي گريد نمايش داده بشه و اون موردي كه جستجو شده هاي لايت بشه
مررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررررسسسسسسسسسسسسسي :rolleyes:
 

als_1360

Registered User
تاریخ عضویت
9 جولای 2003
نوشته‌ها
452
لایک‌ها
2
سن
43
محل سکونت
Tehran
يه راه خيلي ساده كه من خودم براي حدود 1500 ركورد از اون استفاده كردم دستور زير هست
ADOTable1.Filtered:=false;
ADOTable1.Filter := 'Company_name like ''%' + Form1.edit3.text + '%''';
ADOTable1.Filtered:=true;
 

Mavis

کاربر تازه وارد
تاریخ عضویت
3 مارس 2004
نوشته‌ها
19
لایک‌ها
0
سن
41
محل سکونت
Tabriz
سلام عليكم و رحمت الله
دوست عزيزم بازم خسته نباشي. حالا ميخوام اون روش رو كه براي استفاده شما بهينه ترين هست رو شرح بدم.
شما در فرم خود 4 كنترل خواهيد گذاشت. يكي DBGrid كه براش هيچ كدي نخواهيم نوشت چون خودش اتوماتيك ركورد جستجو شده را HighLight ميكند و دومي DBEdit ميباشد كه باز براش هيچ كدي نمي نويسيم و فقط فيلدي كه ميخواهيم درون اون نمايش داده بشه را بهش وصل ميكنيم. سومين كنترل TEdit مي باشد كه نامش را اينجا من ميذارم eFind و كاربردش اينه كه هر چي درونش بنويسيم و دكمه رو بزنيم اون كلمه يا شماره نوشته شده درون eFind جستجو خواهد شد. چهارمين كنترل هم همون دكمه مي باشد كه من اسمش را ميذارم bFind. حالا دستور زير را در رويداد OnClick دكمه مينويسيم تا كلمه يا شماره نوشته شده را از درون DataBase يافته و نمايش دهد. (بازم ميدوني كه علامت [o] در اول و آخر دستور فقط بخاطر مشكل زبان فارسي ميباشد).
در ضمن بفرض نام جدول شما tBase و نام فيلدي كه ميخواهين مقدار مورد نظر رو از اون جستجو كنين RecNo ميباشد :

[o] tBase.Locate('RecNo', eFind.Text, []); [o]

و حالا چون بهترين دوستم هستي يه روشي هم برات توصيه ميكنم كه شايد از اون خوشت بياد و بدردت بخوره.
اون حالت مثل حالت جستجوي شما ميباشد ولي با اين تفاوت كه دكمه اي در كار نيست و وقتي تو همون TEdit مينويسي خودش ميره رو ركوردي كه پيدا شده است.
اگه خواستي اون روش رو هم برات شرح ميدم چون الان وقتم كمه و بينهايت ازتون معذرت ميخوام.
موفق باشين حتي بيشتر از من. -;{@
 

tina_f

کاربر تازه وارد
تاریخ عضویت
9 سپتامبر 2004
نوشته‌ها
24
لایک‌ها
0
بهزاد عزيزم سلام
از راهنماييت كه خيلي واضح بود واقعا سپاسگذارم اگه برات امكان داره اون يكي راه رو هم برام بگو
اما راستي يه سوال ... اون اسمهايي كه گفتين رو من كجا بايد تعريف بكنم مثلا اسم جدول رو و بعدش هم بين edit و button كه براي جستجو تعريف شده هيچ ارتباطي لازم نيست ؟
به علاوه خيلي خيلي از حسن ظن جنابعالي ممنون كه من رو دوست خوب خطاب كردين (خيلي تشريفاتي شد) :blush:
به هر حال بد نيست حالا كه شما هم دوست خيلي خوب من هستيد ايميل منو داشته باشيد تا راحتتر از راهنماييهاتون استفاده كنم :
[email protected]
باز يه دنيا ممممممممممممممررررررررررررررررررررررررررسسسسسسسسسسسسسسسيييييييييييييييييييييي :)
 

Mavis

کاربر تازه وارد
تاریخ عضویت
3 مارس 2004
نوشته‌ها
19
لایک‌ها
0
سن
41
محل سکونت
Tabriz
سلامي به گرمي بخاري روشن
خوب هستين؟
من همه چيز رو برات ميل ميزنم.
باشه دوست خوبم؟
من با اجازه شما و تموم دوستام خوبم.
 

littlerabbit

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
13 جولای 2003
نوشته‌ها
678
لایک‌ها
6
سن
42
محل سکونت
Iran
ميتونيد از تگ کد استفاده کنیدتا مجبور به اضافه كردن يه نوشته انگليسي به اول و آخر متنتون نشيد.. مثل این
کد:
English text
 

chatbaz

کاربر تازه وارد
تاریخ عضویت
1 فوریه 2008
نوشته‌ها
3
لایک‌ها
0
سلام
چطوری میشه در دلفی زمانی که نام فیلدی که به فارسی تایپ شده (در اکسس) جست و جو کرد.منظورم اینه که چطوری مثلا فیلد نام خانوادگی در یک دستور سکوال بنویسم که فاصله بیین حروف نام خانوادگی را خطانگیره.
ممنون میشم اگه جواب بدید و بیشتر اینکه به ایمیلم بفرستید.اگه متوجه نشدید بگید بیشتر توضیح بدم.:(:(
 

rmb_ali

Registered User
تاریخ عضویت
15 مارس 2003
نوشته‌ها
1,218
لایک‌ها
21
يه راه خيلي ساده كه من خودم براي حدود 1500 ركورد از اون استفاده كردم دستور زير هست
ADOTable1.Filtered:=false;
ADOTable1.Filter := 'Company_name like ''%' + Form1.edit3.text + '%''';
ADOTable1.Filtered:=true;

این راه بدی نیست ولی مشکل بزرگش SQL Injection هست
 

rmb_ali

Registered User
تاریخ عضویت
15 مارس 2003
نوشته‌ها
1,218
لایک‌ها
21
سلام
چطوری میشه در دلفی زمانی که نام فیلدی که به فارسی تایپ شده (در اکسس) جست و جو کرد.منظورم اینه که چطوری مثلا فیلد نام خانوادگی در یک دستور سکوال بنویسم که فاصله بیین حروف نام خانوادگی را خطانگیره.
ممنون میشم اگه جواب بدید و بیشتر اینکه به ایمیلم بفرستید.اگه متوجه نشدید بگید بیشتر توضیح بدم.:(:(

دوست عزیز تو این تاپیک خیلی در این مورد صحبت شده و لی در این مورد شما اگر نام و نام خانوادگیتون توی یه فیلد ذخیره میشه که با اون مطالبی که قبلا گفته شد مشکلی ندارید و اگر کاربر یه فاصله بزنه میتونید اونو سرچ کنید ولی اگر دوتا فیلد دارید میتونید نام و نام خانوادگی رو جداگانه بگیرید و سرچ کنید
 
بالا