View Full Version : تابع Dmin عملکرد غلط این تابع در اکسس !
behzadsohrabpour
پنج شنبه 13 آذر 1393, 23: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, 20:46 عصر
سلام
دوست عزیز اگر در جدول اولیه فیلدها از نوع Text نباشد
احتمالا مشکل دوم یعنی خروجی Query شما به شکل TEXTدر آمده است
بنابراین با استفاده از تابع Val و یا Int خروجی خود را به شکل عددی تبدیل ، سپس مینیمم را بگیرید
mind2:int(mind1)
New Account
سه شنبه 18 آذر 1393, 22: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 کارش رو به درستی انجام داده
خروجی اون تابع با تصورات شما مغایر بوده ولیکن با اصول برنامه نویسی منافاتی نداره
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.