PDA

View Full Version : سوال: ایراد مقایسه در کوئری



Rasool-GH
جمعه 08 آبان 1394, 15:35 عصر
سلام دوستان
در محاسبات مربوط به طول عمر تجهیزات به مشکلی برخوردم . لطفا راهنمایی کنید

در فایل ضمیمه دو سوال دارم

1 . در کوئری 1 چطور میتونم طول عمر تجهیزاتی که تاریخ ساخت اونها میلادی قید شده رو در کنار تاریخهای شمسی محاسبه کنم ؟ (لازم به ذکر که مجاز به تبدیل تاریخ ها به شمسی نیستم )

2. در کوئری 2 چرا وقتی پارامتر مقایسه رو از کاربر میگیرم همه چی به هم میریزه در صورتی که اگر همون عدد رو ثابت وارد کنم (کوئری 3 رو ببینید ) همه چی درسته ؟ (عدد 40 رو امتحان کنید )

Rasool-GH
جمعه 08 آبان 1394, 17:01 عصر
سلام مورد اول با کد زیر حل شد


OmrT: IIf([Salejari]-[salesakht]+621>400;[Salejari]-[salesakht];[Salejari]-[salesakht]+621)

عدد 400 برای در نظر گرفتن یک بازه 400 ساله برای عمر تجهیزات و عدم تداخل بین تاریخها در نظر گرفته شده . عدد 621 هم تفاوت سال میلادی با سال شمسی است

Rasool-GH
شنبه 09 آبان 1394, 15:46 عصر
جناب بهرامی در مورد منشا ایراد نظری ندارید ؟

alirezabahrami
شنبه 09 آبان 1394, 21:25 عصر
جناب بهرامی در مورد منشا ایراد نظری ندارید ؟
سلام
دلیلش اینست که علامت < را برای یک مقدار ورودی ازنوع رشته بکار برده اید . مقدار ورودی داخل کروشه درواقع یک مقدار از نوع رشته یا String می باشد . شما اول باید آن راتبدیل به عدد و از نوع integer بکنید بعد علامت < را برای آن بکار ببرید .
در واقع شرط را بصورت :


>Int([ : طول عمر مورد نظر را تعیین کنید])

باید وارد کنید .
یا علی

Rasool-GH
یک شنبه 10 آبان 1394, 20:47 عصر
احسنت . نکته بسیار خوبی بود . ممنون