PDA

View Full Version : جمع يك فيلد با فيلد قبل با توجه به تاريخ



emami.sie
یک شنبه 27 بهمن 1387, 08:57 صبح
با سلام و خسته نباشيد خدمت همه دوستان
من يه مشكلي داشتم كه مي خواستم با كمك دوستان حلش كنم...
من يك برنامه دارم كه از ابتداي سال شروع مي شه و مي خوام يه سري محاسبات رو برام انجام بده...
1- جمع فيلد a (در تاريخ امروز) با فيلد a در روز قبل (مثلا: تاريخ امروز=27/11/87 --> 26=a و تاريخ روز قبل 26/11/87 --> 25=a) جمع: 51 ... (نكته اينجاست كه من نمي خوام با فيلد قبل جمع بشه، بلكه با مقدار a در تاريخ روز قبل)
2- جمع تجمعي فيلد a از ابتداي هر ماه تا امروز (مثلا از اول بهمن تا 27/11/87)
3- جمع تجمي فيلد a از ابتداي سال تا امروز (مثلا از ابتداي سال تا 27/11/87)
قبلا از همه دوستان كمال تشكر رو دارم...
يا علي

kamiharmonica
یک شنبه 27 بهمن 1387, 12:31 عصر
با سلام
براي بدست آوردن جمع امروز و روز قبل مي تونيد در قسمت شرط Query مثلاً براي تاريخ امروز دو تا شرط بزارين كه با دستور Or مي تونيد هر 2 تا شرط رو برقرار كنيد :

Date = Now() Or Now() -1

و در اينصورت مي تونيد دستور Sum رو روي a قرار بدين
براي بدست آوردن جمع تجمعي در ماه يا در سال شما مي تونيد مقدار a رو از اول تا آخر ماه يكدفعه جمع كنيد نيازي به بدست آوردن مقادير تجمعي روزانه نداريد

dadsara
یک شنبه 27 بهمن 1387, 13:46 عصر
سلام
1- منظور از روز قبل آيا روز كاري قبل است يا اينكه فرق نمي كند ؟
2- براي جمع ماه جاري كافي است از تابع Mid استفاده كنيد
3- براي جمع سال كافي است از تابع Left استفاده كنيد

fazl11
یک شنبه 27 بهمن 1387, 22:30 عصر
سلام همانطور که دوست عزیز dadsara فرمودند بهتره روی فرم یه تکس باکس قراربده و از طریق یه کوئری و تابع mid استفاده کن و از روی فرم مقدار تکس باکس را بخون و کل یک ماه رو sum بگیر برای کل سال هم همینطور

emami.sie
دوشنبه 28 بهمن 1387, 13:28 عصر
با سلام و تشکر از لطف دوستان که وقت گذاشتن و جواب سئوالم رو دادن...
من چون زیاد تو اکسس حرفه ای نیستم، بیشتر دوست دارم با نمونه کار کنم و حتما تا چند روز دیگه یه نمونه می ذارم و مشکلاتم رو روی اون توضیح میدم...
قبلا هم از همکاری همه دوستان کمال تشکر رو دارم...
یا علی

emami.sie
دوشنبه 05 اسفند 1387, 19:01 عصر
با سلام خدمت همه دوستان عزیز
دوستان اگه زحمت بکشن و مورد درخواستی رو روی نمونه اصلاح کنن، خیلی ممنون می شم...
با تشکر
یا علی

emami.sie
دوشنبه 05 اسفند 1387, 19:09 عصر
در تکمیل سئوالم باید بگم مشکل اصلی من اینجاست که می خوام در Table1 مقدار متراژ انتها در روز قبل برابر متراژ ابتدا در روز بعد بشه (با توجه به تاریخ و فیلد کلید یعنی محل حفاری) و به همین صورت تا پایان...
واقعا ممنون می شم اگه بتونید مشکلم رو حل کنید...
ممنون از همگی...
یا علی

emami.sie
شنبه 10 اسفند 1387, 13:56 عصر
با سلام
دوستان مشكلي كه در پست آخر اين تاپيك مطرح كردم، حلش برام واقعا حياتيه...
اگه دوستان نظري دارن لطفا روي نمونه توضيح بدن... واقعا ممنون مي شم.
يا علي

kamiharmonica
یک شنبه 11 اسفند 1387, 14:51 عصر
با سلام
من يك راهي براي حل مشكل شما پيدا كردم اميدوارم بدرد بخوره . در فايلي كه فرستادم با استفاده از دو query اين كار رو انجام ميده. اين كارها با فرمي كه درست كردم انجام ميشه. فقط حواستون باشه انتهاي كار اطلاعات table3 بايد پاك بشه كه اين كار توسط delete query انجام ميشه.

dadsara
یک شنبه 11 اسفند 1387, 15:46 عصر
سلام
نمونه اصلاح شده جنابعالي با استفاده از ركوردست
در اين نمونه ابتدا كافي است
**** كد محل حفاري را وارد نمائيد و كليد Enter را فشار دهيد***
1- در يك Select به ازاء كد محل حفاري بزرگترين تاريخ را پيدا نمود
2- اگر محل براي اولين بار ايت كه مقدار آن صفر مي شود در غير اينصورت
3- در يك Select ديگر تاريخ و محل حفاري را قرار داده و عدد مترا‍ژ انتها را پيدا نمود
4- يك كليد جهت ذخيره نمودن ركورد بنويسيد و درصورت نياز عدد بدست آمده را در متراژ ابتدا قيد نمائيد
5- تاريخ موجود روي فرم صرفا جهت اطلاع مي باشد مي توانيد آنرا را مخفي نمائيد و يا اينكه تاريخ بدست آمده را در يك متغير نگهداري كنيد