PDA

نسخه کامل مشاهده نسخه کامل : زمان سپری شده



sorrowdancer
11-12-2008, 10:36
من نوع فیلد تاریخ رو از نوع text قرار دادم چون ترسیدم فرمت هجری با میلادی که با اکسس کار می کنم تداخلی ایجاد کنه که از نوع text گفتم که می خواستم بهم بگید مشکلی هست یا خیر.

حالا سوال من اینه که تاریخ امروز رو داریم می خوام رکوردهای ثبت شده تا تاریخ شش ماه پیش (در فیلد Date) رو بدست بیارم باید چکار کنم چون ممکنه شش ماه قبل بره تو سال قبل و نمیدونم چکار باید بکنم! ممنون میشم راهنماییم کنید که از چه کدی استفاده کنم

مرد مباح
11-12-2008, 12:13
1. درسته. بايد فارسي رو توي text ذخيره كني.
2. براي تاريخت از چخ كمپوننت يا فايلي استفاده ميكني ؟
به اون بستگي داره و اگه ميخواي اين بازه رو ----- كني بايد از تركيب اون با SQLCommands استفاده كني.
البته من قبلا اين كارو نكردم

romixery
11-12-2008, 17:58
سلام
بهتره كه تاريخ رو به صورت كد شده در بانك ذخيره كني.
ابتدا كامپوننت shdate رو توي انجمن معرفي ، دانلود و نصب كن. تابعي داره به نام shEncodedate. كه تاريخ فارسي رو كد مي كنه و به صورت يه عدد در مياره. اصلاً توي اين كامپوننت توابعي براي اختلاف تاريخ ها وجود داره. مي توني از اونها استفاده كني.

مرد مباح
11-12-2008, 22:42
كاملا درسته. ولي اون موقع يك مشكلي ممكنه برات پيش بياد. اونم اينه كه نميتوني از DBGrid به صوزت مستقيم استفاده كني.
چون تاريخهاتو دزست نشون نميده.
خودت بررسي كن و ببين چه حالتي با كارت جور در مياد

romixery
12-12-2008, 11:07
كاملا درسته. ولي اون موقع يك مشكلي ممكنه برات پيش بياد. اونم اينه كه نميتوني از DBGrid به صوزت مستقيم استفاده كني.
چون تاريخهاتو دزست نشون نميده.
خودت بررسي كن و ببين چه حالتي با كارت جور در مياد

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

sorrowdancer
12-12-2008, 14:43
من از کامپننت HCelendar استفاده می کنم این کامپوننت توابعی برای رفتن به n ماه قبل نداره یا شاید من نمی دونم.
ممنون از کمکت shdate رو می گردم تا پیدا کنم و ببینم چجوریه امیدوارم مشکلم رو حل کنه

F A R H A D
12-12-2008, 14:46
سلام. چرا اینقدر دردسر؟
از کامپوننت farsi date که توسط آقای سالار خلیل زاده نوشته شده استفاده کنید
تاریخ را به صورت شمسی در فیلدی با نوع داده ای text ذخیره کنید
برای بدست آوردن تاریخ های ماههای قبل یا بعد، ابتدا تاریخ شمسی را به میلادی تبدیل کنید و بعد از توابع بیشمار یونیت date استفاده کنید
موفق باشید

sorrowdancer
12-12-2008, 17:30
VeryNice مرسی از راهنمایتون آقا فرهاد کامپوننت خوبی رو معرفی کردید دانلود کردم و به سادگی تاریخ ها رو تبدیل می کنم
ولی حالا با یک تاریخ میلادی چگونه ماه رو تغییر بدیم مثلا تاریخ رو میشه منهای عدد 180 کرد تا تاریخ شش ماه پیش رو داشته باشیم ولی اگه ماه ها 31 روزی بود چی ؟

کلاً شما با چه فرمولی شش ماه میایین عقب؟
مرسی

F A R H A D
12-12-2008, 21:14
خواهش میشه.

کلاً شما با چه فرمولی شش ماه میایین عقب؟
اگر توابع آماده نباشه با یک کد نویسی بسیار ساده!

sorrowdancer
13-12-2008, 12:31
Ok, میشه این رو حل کرد. مرسی از رهنماییتون