ورود

نسخه کامل مشاهده نسخه کامل : مشکل در جستجوی چند فیلد در دلفی



tikzahraaran
03-02-2008, 16:12
با سلام
لطفا مرا در حل مشکلی که برایم بوجود آمده راهنمایی کنید
من یک دفترچه تلفن تهیه کرده ام و دارای7 فیلد نام نام خانوادگی تلفن 1 تلفن 2 و تلفن 3 و فکس و ایمیل می باشد برای جستجو در این دفترچه من می خواهم دستوری بنویسم که هنگام جستجو یک فرم با 7 رادیو باتن باز شود و با انتخاب هریک از این رادیو باتن ها بتوان فیلدی را که جستجو باید در آن جستجو شود تعیین کرد و جستجو در آن فیلد صورت گیرد مثلا فیلد اول من name و دوم lastname است با این دستور فیلد name را جستجو می کند ولی فیلد lastname را نمی توانم جستجو کنم adotable1.Filter:='name like ''%'+edit1.Text+'%''';
find1.adotable1.Filtered:=true;
لازم به ذکر است که بانک اطلاعاتی اکسس و از دی بی گرید استفاده می کنم .لطفا مرا راهنمایی کنید
:40::40::40::40::40::40::40::40::40::40::40::40::4 6::46::46::46::46::2:

F A R H A D
03-02-2008, 16:40
سلام. خوش آمديد
دوست عزيز اميدوارم كه ديگه مشكلي برات پيش نياد! 4 تاپيك ايجاد كردن براي يك مشكل از هر كسي بر نمياد
شما نگفتي كه براي كاري كه ميخواي انجام بدي مشكل داري يا براي جستجو؟ من فرض رو بر اولي ميذارم
از صفحه standard يك radio group روي فرم بذار و با چك كردن مقدار itemindex در يك عبارت case ، فيلد مورد جستجو رو مشخص كن

dkhatibi
03-02-2008, 19:52
در صورتیکه تمام فیبدهاتون رشته ای هستند مشکلی پیش رو شما نیست. به همین ترتیب دستورات را OR کنید . در صورتیکه edit س خالی باشه. می شه LIke '%%' که به معنی همه ی موارهه یا معادلا در Or لودن یا نبودنش یکیه!

tikzahraaran
03-02-2008, 23:23
من یک کمی تازه کار هستم و دارم با انجام مثال دلفی را یاد می گیرم اگه امکان داره کمی واضح تر راهنمایی کنید
بازهم از همه شما تشکر می کنم
دیتا بیس من دلفی و با Ado کار می کنم
:40::40::40::40::40::40::40::40::40::40::40::40::4 0::2::46:

F A R H A D
04-02-2008, 13:56
براي جستجو يا از دستورات sql استفاده مي كنيد و با از filter . در هر دو حالت فيلد شما در دستور به صورت رشته اي هست. براي اينكه اسم فيلد رو بوسيله radiogroup بگيريد يه سورس آماده كردم كه ميتونيد از لينك زير بگيريد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

tikzahraaran
05-02-2008, 12:35
با تشکر از همه خصوصا فرهاد عزیز
من یکبار دیگه مشکلم را اینگونه مطرح می کنم
من یک بانک اطلاعاتی اکسس دارم که شامل فیلدهای نام نام خانوادگی شماره تلفن 1 تلفن 2 تلفن 3 فکس و ایمیل می باشد
در فرمی که من ایجاد کرده ام یک رادیو گروپ قراردارد که شامل آیتمهای بالا می باشد
فرم من شامل یک دی بی گرید که اطلاعات باتک اطلاعاتی را نشان می دهد و همچنین یک ادیت و یک دکمه جستجو می باشد
حال مشکل اینجااست که می می خواهم متنی را که نوشته ام در ادیت بتوانم بر اساس یکی از فیلدهای بالا عمل ----- را انجام دهم و دی بی گرید اطلاعات درونش را بر اساس یکی از فیلدهای نام نام خانوادگی شماره تلفن 1 و .... سورت کند و نشان دهد .

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
لطفا من را راهنمایی کنید
متشکرم
:40::40::40::40::40::40::40::40::40::40::40::40::4 0::40::46::2:

F A R H A D
05-02-2008, 13:30
سورسي كه در پست #5 گذاشتم دقيقا براي همين منظور هست. به جاي lable.caption يك متغير رشته اي به نام fieldname قرار بده و مقادير رشته اي field1,field2,... رو با نام فيلدهاي جدول جايگزين كن.
دستورات جستجو رو به صورت زير بنويس:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

tikzahraaran
05-02-2008, 18:36
آقا فرهاد عزیز
ابتدا بگویم که من Sql بلد نیستم و می خواهم این جستجو بر اساس دستورات دلفی صورت گیرد در ضمن
اگه امکان داشته باشه لطف کنید ایمیل خودتون را بذارین تا من سورس برنامه را برای شما بفرستم تا ببینید اشکال کار من در کجاست باز هم ممنونم

F A R H A D
06-02-2008, 13:40
آقا فرهاد عزیز
ابتدا بگویم که من Sql بلد نیستم و می خواهم این جستجو بر اساس دستورات دلفی صورت گیرد در ضمن
اگه امکان داشته باشه لطف کنید ایمیل خودتون را بذارین تا من سورس برنامه را برای شما بفرستم تا ببینید اشکال کار من در کجاست باز هم ممنونم
به صورت زير فيلت ر رو بنويسيد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ایمیل خودتون را بذارین
روي آواتار من كليك كنيد، انواع راه هاي ارتباط با من وجود داره!

tikzahraaran
06-02-2008, 22:32
آقا فرهاد عزیز سلام
با تشکر از زحماتی که برای حل مشکل من کشیدید
باید به عرض برسانم مشکلی من هم از دستور

adotable1.Filter:='name like ''%'+edit1.Text +'%'''

استفاده می کردم که برای فیلد name مشکلی نداشتم ولی برای lastname برنامه پیام خطا می داد که پس از بررسی متوجه شدم که در دیتا بیس من بین last و name فاطله گذاشته ام پس از رفع این اشکال برنامه هم با دستوری که شما دادید با موفقیت اجرا شد .
بازهم از زحمات شما متشکرم
امیدوارم بازهم بتوانم از راهنماییتان استفاده کنم
:40::40::40::40::40::40::40::40::40::40::40::40::4 0::40::40::2::46: