PDA

View Full Version : سوال: درج تاریخ گزارش به صورت تاریخ شمسی



PERFORIN
چهارشنبه 13 آذر 1387, 14:41 عصر
سلام
چجوری میشه تاریخ گزارش را به صورت تاریخ شمسی درج کرد؟؟؟

s_ahmadneya
چهارشنبه 13 آذر 1387, 14:59 عصر
سلام
چجوری میشه تاریخ گزارش را به صورت تاریخ شمسی درج کرد؟؟؟

به راحتی!
1- یک پارمتر در کریسال تعریف می کنی و تاریخ شمسی را در فرم تولید وبه صورت رشته به پارامتر انتقال می دهید!
2- می شه مستقیم در کریستال هم کد شمسی را نوشت .
3-اگر دیتا را ازبانک می خوانی می توان در بانک sql هم تابعی نوشت که این تبدیل را انجام بدهد
4-خلاصه باید ببینی چرا و با چه هدفی وچه تاریخی را می خواهی در گزارش قرار دهی

sh2007
پنج شنبه 14 آذر 1387, 08:09 صبح
اگه فقط براي درج تاريخ در گزارشه توليد تابع و ارسال آن به كريستال بهرتين روش مي باشد

PERFORIN
پنج شنبه 14 آذر 1387, 11:13 صبح
اگه فقط براي درج تاريخ در گزارشه توليد تابع و ارسال آن به كريستال بهرتين روش مي باشد

سلام
من تابع را دارم ولي نمي دونم چجوري به كريستال ارسالش كنم لطفا راهنماييم كنيد

khz-web1
چهارشنبه 20 آذر 1387, 00:44 صبح
من هم مشکل همین آقا رو دارم

ebigqi
شنبه 23 آذر 1387, 21:52 عصر
به راحتی!
1- یک پارمتر در کریسال تعریف می کنی و تاریخ شمسی را در فرم تولید وبه صورت رشته به پارامتر انتقال می دهید!
2- می شه مستقیم در کریستال هم کد شمسی را نوشت .
3-اگر دیتا را ازبانک می خوانی می توان در بانک sql هم تابعی نوشت که این تبدیل را انجام بدهد
4-خلاصه باید ببینی چرا و با چه هدفی وچه تاریخی را می خواهی در گزارش قرار دهی
دوست یک نمونه مثال میزنید با تشکر ....

khz-web1
شنبه 23 آذر 1387, 22:21 عصر
من مشکل رو حل کردم ....
1- یه تابع میسازیم که سه تا خروجی میده به صورت زیر


Function MiladiToShamsi(ByVal Year As Integer, ByVal Month As Integer, ByVal Day As Integer) As String
Dim A As Date = Year.ToString & "/" & Month.ToString & "/" & Day.ToString
Dim B As New PersianCalendar
Return B.GetYear(A) & "/" & B.GetMonth(A) & "/" & B.GetDayOfMonth(A)
End Function


و بعد مقدار اونو توی یک رشته از نوع استرینگ بریزید به صورت زیر


Dim datre As String
datre = MiladiToShamsi(Today.Year, Today.Month, Today.Day)

2- و در همان فرم خودتان هم یک پارامتر به صورت زیر تعریف کنید


Dim rpt As New CrystalReport1
rpt.SetParameterValue(0, datre)

3- در برگه کریستال ریپورت خودتون یک پارامتر اضافه کنید...
و حالا هم پروژه خودتون رو ران کنید ...
موفق باشید

dark-man
پنج شنبه 05 دی 1387, 11:25 صبح
من مشکل رو حل کردم ....
1- یه تابع میسازیم که سه تا خروجی میده به صورت زیر


Function MiladiToShamsi(ByVal Year AsInteger, ByVal Month AsInteger, ByVal Day AsInteger) AsString
Dim A AsDate = Year.ToString & "/" & Month.ToString & "/" & Day.ToString
Dim B AsNew PersianCalendar
Return B.GetYear(A) & "/" & B.GetMonth(A) & "/" & B.GetDayOfMonth(A)
EndFunction


و بعد مقدار اونو توی یک رشته از نوع استرینگ بریزید به صورت زیر


Dim datre AsString
datre = MiladiToShamsi(Today.Year, Today.Month, Today.Day)

2- و در همان فرم خودتان هم یک پارامتر به صورت زیر تعریف کنید


Dim rpt AsNew CrystalReport1
rpt.SetParameterValue(0, datre)

3- در برگه کریستال ریپورت خودتون یک پارامتر اضافه کنید...
و حالا هم پروژه خودتون رو ران کنید ...
موفق باشید


سلام خدمت اساتید . من از سی شارپ استفاده می کنم . یک فرم report viewer دارم و می خوام بدونم این تابع رو در کجا باید بنویسم و پارامتر رو چه جوری پاس بدم به گزارش
ممنون میشم در این زمینه راهنمائیم کنید .

khz-web1
جمعه 06 دی 1387, 20:26 عصر
شما نیاز نیست تابعی رو بنویسید ... من اینجا براتون تابع رو نوشتم و فقط کافیه اونو تو کد فرمتون قرار بدید(بدین صورت که روی فرم تون کلیک کنید تا به قسمت کد نویسی برید و سپس کد زیر را کپی نمایید ، به این نکته هم توجه کنید که نباید توی هیچ روی دادی این کد را کپی نمایید ...)

کد تابع


Function MiladiToShamsi(ByVal Year AsInteger, ByVal Month AsInteger, ByVal Day AsInteger) AsString
Dim A AsDate = Year.ToString & "/" & Month.ToString & "/" & Day.ToString
Dim B AsNew PersianCalendar
Return B.GetYear(A) & "/" & B.GetMonth(A) & "/" & B.GetDayOfMonth(A)
EndFunction



واسه پاس دادن هم که راهنمایی کردم اونجا یکم با دقت بیشتر بخوانید تا بهتر متوجه بشید....
موفق باشید

sabet2009
جمعه 18 بهمن 1387, 17:06 عصر
اين تابع بايد كجا گذاشته بشه ؟

khz-web1
سه شنبه 22 بهمن 1387, 04:54 صبح
شما بعد form load قرار بده (منظورم بعد از end sub هستش)
موفق باشید