PDA

View Full Version : سوال: مساوی قرار دادن عدد ورودی به نزدیکترین عدد بانک



salam007
سه شنبه 15 فروردین 1391, 13:25 عصر
سلام دوستان محترم
یک تکست باکس داریم که عددی را توسط کاربر میگیرد و نیاز به تابعی دارم که نزدیکترین عددی که در یکی از جداول بانک از قبل ذخیره شده مطابق با عدد ورودی کاربر را پیدا کند و این عدد ورودی را معادل آن قرار دهد و در جدولی دیگر ذخیره شود فعلا اگر در حد نمایش در یک لیبل هم باشد ممنون میشم
دوستان اگر کد sql هم در اختیار قرار بدهند ممنون میشم
پیشاپیش از دوستان و مهندسین عزیز که در این امر کمک میکنند تشکر میکنم

Felony
سه شنبه 15 فروردین 1391, 22:05 عصر
برای به دست آوردن رکوردی که نزدیکترین مقدار به عدد وارد شده توسط کاربر رو داره میشه اینطور نوشت :

SELECT TOP 1 * FROM TableName ORDER BY ABS(FieldName - X)

FieldName اسم فیلد مورد نظر برای مقایسه هست و X هم مقدار وارد شده توسط کاربر .

salam007
چهارشنبه 16 فروردین 1391, 12:09 عصر
برای به دست آوردن رکوردی که نزدیکترین مقدار به عدد وارد شده توسط کاربر رو داره میشه اینطور نوشت :

SELECT TOP 1 * FROM TableName ORDER BY ABS(FieldName - X)

FieldName اسم فیلد مورد نظر برای مقایسه هست و X هم مقدار وارد شده توسط کاربر .

تشکر آقا مجتبی من یه نمونه برنامه با جدولی بنام test و فیلدی بنام str نوشتم که در اینجا قرار میدم که درستم کار میکنه فقط میخوام مقدار باز گردانده شده کوئری در یک لیبل نشان داده شود ، شرمنده اگه خیلی آماتوری هستم . بازم تشکر از زحمتی که میکشین

Felony
چهارشنبه 16 فروردین 1391, 12:35 عصر
نام فیلدی که قراره تو Label نمایش داده بشه رو به جای FieldName بنویسید :
Label1.Caption:= ADOQuery1.FieldByName('FieldName').AsString;