PDA

View Full Version : گزارش ماهانه



ehsan_2000
سه شنبه 12 مهر 1384, 11:36 صبح
با سلام
من یک برنامه نوشتم که می خوام توش گزارش ماهانه بگیرم یعنی کاربر ماه را وارد کنه و اطلاعات اون ماه رو ببینه.
با تشکر

مهدی ذوقی
سه شنبه 12 مهر 1384, 12:21 عصر
با سلام
دوست عزیز با فرض اینکه فیلد ماه در بانک اطلاعاتی اسمش mah باشه و نام جدول مورد نظر در بانک هم tbl می تونی از کد sql زیر استفاده کنی
select * from tbl where (mah = tmah
tmah هم ماهی که کاربر وارد می کنه

ehsan_2000
سه شنبه 12 مهر 1384, 12:33 عصر
با تشکر از جوابتون
می خواستم توضیح بیشتر بدم .ببینید من یک برنامه کافی نت نوشتم که می خوام مدیر کافی نت وقتی شماره ماه رو وارد کنه کارکرد کافی نت در اون ماه رو نمایش بده . و در بانک اطلاعاتی فیلدی به نام ماه وجود نداره.
با تشکر فراوان

PalizeSoftware
سه شنبه 12 مهر 1384, 15:14 عصر
سلام
بالاخره باید چیزی توی بانک گذاشته باشید تا بشه ماه‌ها رو تفکیک کرد. یعنی فیلد تاریخ رو هم ندارید؟

dr_g
سه شنبه 12 مهر 1384, 15:15 عصر
باسلام
دوست عزیز شما باید فیلدی برای ماه در نظر بگیرید.که مقدار اوون هنگام ورود اطلاعات برابر با ماه جاری باشه که اگه این ماه شمسی باشه بهتره.از دستور Sql بالا استفاده کن

ehsan_2000
سه شنبه 12 مهر 1384, 16:14 عصر
با سلام
من فیلد تاریخ رو دارم و این دستور هم می نویسم اما جواب نمی ده:
select * from table1 where date between '84/6/1' and '84/6/31'
آیا این دستور مشکلی دارد؟

ehsan_ansaripoor
سه شنبه 12 مهر 1384, 18:42 عصر
دوست عزیز ببین تاریخ داخل فیلدت به صورت:
'01/06/84' و '31/06/84' وارد نشده

احمد رایان
چهارشنبه 13 مهر 1384, 03:13 صبح
دوست عزیز قدر این '0' کنار اعداد تک رقمی رو بدون پدر من در اومد تا همین مطلب ساده رو فهمیدم

masoud_583
چهارشنبه 13 مهر 1384, 07:50 صبح
آقای رایان درست می فرمایند حتما رعایت کنید فیلد ها به صورت yyyy/mm/ddباشند وگر نه به شدت با مشکل برخورد می کنید یه اختمال دیگه هم هست اگه با کد نویسی دارید sql را وارد می کنید مواظب باشید که تاریخ عینا منتقل شود و از کارکتر های جای خای استفاده نشودچون فیلد تاریخ شما اینطور که من فهمیدم از نوع متن است

mRizvandi
چهارشنبه 13 مهر 1384, 10:12 صبح
سلام

آخرین نکته هم اینکه فیلد تاریخ رو از نوع رشته ای گرفتی یا تاریخ؟
اگر رشته ای باشه صحبتهای دوستان رو انجام بده
اگر تاریخ است اول به رشته تبدیل کن به صحبتهای دوستان رو انجام بده
;-)

vb341
شنبه 16 مهر 1384, 19:38 عصر
بجای عبارت between تاریخ را با علامتهای کوچکتر و بزرگتر مقایسه کن . مثلا
select * from table1 where date>a1 and date <a2
من تو همه برنامه هام از همین روش استفاده میکنم

vb341
شنبه 16 مهر 1384, 19:39 عصر
ببخشید . باید بگم a1 تاریخ شروع و a2 تاریخ پایان هست و اگه خواستی همون تاریخها هم تو گزارش باشن از عبارتهای <= و >= استفاده کن

Mehdi0016
یک شنبه 17 مهر 1384, 23:52 عصر
با سلام
البته بهتره که اگه از تاریخ شمسی استفاده میکنید توی بانک فیلد تاریخ رو text تعریف کنید .
چون فیلد date بر اساس تاریخ میلادی کار میکنه و مثلا 84/06/31 نداره و خطا تولید میکنه .