PDA

View Full Version : سوال: درخواست راهنمايي در مورد نحوه محاسبه حقوق دستمزد و مساعده



abdoreza57
جمعه 13 خرداد 1390, 01:38 صبح
با سلام خدمت تمام اساتيد محترم سايت
اگر بخواهم بدهي يا طلب كاركنان شركت را از روي كاركرد و دريافتي هاي افراد محاسبه نمايم با ايجاد كويري يه چند مشكل برمي خورم :
اول ) بعلت خالي بودن برخي فيلدها محاسبه تهي انجام نمي گيرد
دوم ) با ايجاد رابطه بين جداول و بعلت تكرار آن در كويري محاسبه تكرار و مجموع اشتباه از آب در مي آيد
اصولا راه حل اينگونه محاسبات چگونه است ؟ يعني مي بايست فيلد را فراخواني كنم يا ؟.....



ممنون ميشم اگه اساتيد محترم سايت تو تيم زمينه منو راهنمايي كنند
تو فايل ضميمه اگه دقت كنيد محاسبات مربوط به كاركرد و مساعده همگي اشتباه و در برخي شرايط صحيح !

MohammadReza.OmidAllah
جمعه 13 خرداد 1390, 03:28 صبح
اول ) شما میتونی مقدار پیشفرض به فیلدت بدی مثلا اگه یه فیلد مقدار دهی نشد 0 در نظر بگیره

منظورت رو از اشکال دومی نفهمیدم ولی اگه درست فهمیده باشم منظورت اینه که چون یه کار بر میتونه بیشتر یکی اطلاعات داشته باشه توی جدول مشکل دار میشه جدولت واسه این کار اگه مبالغ ثابته تقسیم بر تعداد فیلدای یه کاربر کن وگرنه با یه کوئری جدا کن اطلاعاتی که میخوایی رو بعد محاسباتت رو از رو او کوئری انجام بده

royasaz_bam
جمعه 13 خرداد 1390, 03:43 صبح
دوست گرامی اگر منظورت را متوجه شده باشم باید در فیلدهای تهی مقدار صفر بگذاری برای اینکار از پیشفرض اصتفاده کم در ضمن نوع رابطه بین جدولها در حذف تکرارها موثر است پس نوع رابطه ها را امتحان کن ولی بیادت باشد باید عملکرد تهی را به صفر تغییر دهی

royasaz_bam
جمعه 13 خرداد 1390, 04:11 صبح
در ضمن مشکل دوم را با ساخت یک کواری جداگانه برای دستمنرد حل کردم و آن را به ایمیلت میفرستم برنامه خودت است ولی اصلاح شده میتونی ببینی البته اگر ادرس ایمیلتو بدی . درضمن چجوری میشه فایلو ضمیمه کرد من که نتوانستم

abdoreza57
جمعه 13 خرداد 1390, 11:59 صبح
ضمن تشكر از تمام دوستان عزيزم
همانطور كه مي دانيد تو محاسبه كويري نمي توان مقدار پيش فرض داد
همين طوراستفاده از تابع NZ ميسر نشد لذا آماه همكاري و ارسال نظرات شما دوستان هستم
بهتره از قسمت مديريت ضميمه ها فايلت را آپلود كني تا مورد استفاده ساير دوستان هم قرار بگيره
با اين حال به خواسته تون احترام مي گذارم
reza_noor2006@yahoo.com

royasaz_bam
شنبه 14 خرداد 1390, 12:24 عصر
دوست من برنامتو ایمیل کردم اگه خواستی روی ضمیمه اش کن ممنون که یاد آوری کردی که توی کواری نمیشه مقدار پیش فرض گذاشت از تابعی هم کفتی من چیزی نمیدانم ولی کاری که از دستم برآمد را انجام دادم حالا اگه خواستی برو ایمیلت را ببین و من معمولا برای برطرف کردن مشکل فیلدهای تهی قبلا در فرم ورودی برای همه اعضا مقدار صفر قرار میدهم و گاهی وقتها هم با تعریف نوع ارتباط بین جداول در کواری مشکل حل میشه حالا اگه خواستی مشکلتو با نمونه اطلاعات تهی بگذار شاید بشه کاریش کرد خوشحال میشم کاری بتوانم انجام بدم

abdoreza57
شنبه 14 خرداد 1390, 13:51 عصر
سلام
قسمت پايين صفحه حالت- پيشرفته -مديريت ضميمه ها
دوست من مجموع كاركرد هر نفر را اول تو فرمKONTRAT ببين بعد مجموعش را تو كويري يا فرمHOGHOGH نگاه كن !!!!
تكرار تو كويري باعث محاسبه غلط شده و با اين كار مشكلي حل نشد
البته راهش اينه كه براي هر كدوم از جدولها يك كويري تشكيل بدم بعد اونا را به هم ريط بدم
موفق باشيد

imanamami
شنبه 14 خرداد 1390, 13:54 عصر
مگه از چه نوعی فیلد می گیری که خالی هستن خطا می دند/؟؟
خوب نزار خالی بمونن حد اقل توش صفر بزار

hasanr
شنبه 14 خرداد 1390, 14:11 عصر
درباره مشکل اول :
برای حل مشکل خالی بودن برخی فیلدها در کوری باید کد نویسی کنی به این شکل که یک رشته خالی ایجاد کنی و درباره هر فیلد بررسی کنی که اگر خالی نبود شرط آن هم به کوری اضافه شود


Private Sub CmdSearch_Click()
Dim StrFilt As String
StrFilt = ""

If Nz(Me.Fild1temp) <> "" Then
If Len(StrFilt) > 0 Then
StrFilt = StrFilt & " And "
End If
StrFilt = StrFilt & "[Fild1] =" & Me.Fild1temp
End If


If Nz(Me.Fild1temp) <> "" Then
If Len(StrFilt) > 0 Then
StrFilt = StrFilt & " And "
End If
StrFilt = StrFilt & "[Fild2] =" & Me.Fild2temp
End If

Me.Child73.Form.Filter = StrFilt
Me.Child73.Form.FilterOn = True

End Sub

abdoreza57
شنبه 14 خرداد 1390, 18:38 عصر
ممنونم از اينهمه مشاركت
تو كدي كه ارايه كرديد نميشه براي يك كويري ادغام كرد در ضمن اين دستور تو كدوم قسمت يك كويري بايد قرار داده بشه يا لااقل يه فرم
در ضمن كويري كه ارايه كردم كاملا غلط محاسبه مي كنه : به مجموع مساعده هاي هر نفر يا كار كرد هر نفر با آنچه تو كويري يا فرم حقوق هست نابرابر است
لذا از دوستان خواهش مي كنم اگه واقعا راه حلي به نظرشون مي رسه كه واقعا با كد نويسي ميشه كاري كرد لطف كنند نمونه را همانطور كه هست تغيير بدند تا من و بقيه دوستان يه راهكار براي اين مسايل ياد بگيريم