PDA

View Full Version : تابع Dmin عملکرد غلط این تابع در اکسس !



behzadsohrabpour
پنج شنبه 13 آذر 1393, 22:07 عصر
با سلام ممنون میشم دوستان یه نگاهی به این بندازن من دیگه دارم دیوونه میشم نمیدونم چرا اشتباه حساب میکنه پایگاه نمونه هم قرار دادم

http://answers.microsoft.com/en-us/office/forum/office_2013_release-access/access-2013-dmin-function/ad1ed4aa-fe97-4e77-b468-d213809535d1?tm=1417720298477

خدابخشی
سه شنبه 18 آذر 1393, 19:46 عصر
سلام
دوست عزیز اگر در جدول اولیه فیلدها از نوع Text نباشد
احتمالا مشکل دوم یعنی خروجی Query شما به شکل TEXTدر آمده است
بنابراین با استفاده از تابع Val و یا Int خروجی خود را به شکل عددی تبدیل ، سپس مینیمم را بگیرید
mind2:int(mind1)

New Account
سه شنبه 18 آذر 1393, 21:09 عصر
سلام آقای بهزاد سهراب پور

علی الظاهر MVP های مایکروسافت هم نتونستن کمکتون کنن !! ( MVP مخفف کاربران ارزشمند هستش )

مشکل برمیگرده به تابع Minimum که شما درج کردید , وقتی که نوع خروجی تایع رو مشخص نکنید , به صورت خودکار نوع خروجی Variant قرار میگیره

تابع رو فرضا به صورت زیر تغییر بدید

Function Minimum(ParamArray FieldArray() As Variant) As Double


وقتی نوع خروجی تابع رو مشخص نکنید , در این حالت انتخاب نوع خروجی به خود سیستم سپرده میشه و با توجه به نوع داده های ورودی اکسس ترجیح داده نوع خروجی نهایی رو Text در نظر بگیره ( در واقع نوع داده Variant دلالت بر این میکنه که : اکسس ! من نمیدونم نوع خروجی چیه , خودت تصمیم نهایی رو بگیر )

در مرتب سازی متون , 11 مقدم هستش بر 7

23 مقدم هستش بر 4

و حالا بین 11 , 7 , 23 و 4 اکسس مینیمم رو 11 در نظر میگیره

و ....

پس تابع Dmin کارش رو به درستی انجام داده

خروجی اون تابع با تصورات شما مغایر بوده ولیکن با اصول برنامه نویسی منافاتی نداره


موفق باشید