PDA

View Full Version : استفاده از کریستال ریپورت خارج از محیط VS



ehsan957
دوشنبه 05 فروردین 1387, 10:29 صبح
با سلام
من یک برنامه نوشتم که از یک دیتابیس SQL Server 2005 و از کریستال ریپورت استفاده می کنه، ولی خارج از محیط visual studio قادر نیستم از اون استفاده کنم (در هنگام گزارش گیری به من Error میده)
اینم از کدی که در قسمت Form_load بخش گزارش گیری گذاشتم



Dim strReportPath As String = GetCurrentDirectory()

If strReportPath.Substring(strReportPath.Length - 9) = "bin\Debug" Then

strReportPath = strReportPath.Substring(0, strReportPath.Length - 10)

End If

strReportPath &= "\CrystalReport1.rpt"

در ضمن برای این کار از این دستور هم در ابتدا استفاده شده است



Imports System.IO.Directory

ehsan957
دوشنبه 05 فروردین 1387, 22:08 عصر
هر کار میکنم باز ERROR میده، یکی بهم کمک کنه

choobin84
دوشنبه 05 فروردین 1387, 23:33 عصر
برنامه شما ناقصه. چون یک سری پیش نیاز ها از جمله کامپوننت های کریستال ریپورت رو به ستاپ برنامه اضافه نکرده اید.
در هنگام ستاپ سازی باید یک سری ماژول های کریستال ریپورت را به برنامه اضافه کنید.

اگر جستجو کنید در سایت، به نتایج خوبی برای رفع اشکالتان می یابید.
کلمات کلدی برای جستجو :
کریستال ریپورت ، ستاپ سازی، setup و....
پیشنهاد می شود.

bad_boy_2007
دوشنبه 05 فروردین 1387, 23:48 عصر
با سلام
من یک برنامه نوشتم که از یک دیتابیس SQL Server 2005 و از کریستال ریپورت استفاده می کنه، ولی خارج از محیط visual studio قادر نیستم از اون استفاده کنم (در هنگام گزارش گیری به من Error میده)
اینم از کدی که در قسمت Form_load بخش گزارش گیری گذاشتم



Dim strReportPath As String = GetCurrentDirectory()

If strReportPath.Substring(strReportPath.Length - 9) = "bin\Debug" Then

strReportPath = strReportPath.Substring(0, strReportPath.Length - 10)

End If

strReportPath &= "\CrystalReport1.rpt"

در ضمن برای این کار از این دستور هم در ابتدا استفاده شده است



Imports System.IO.Directory


دوست من وقتی شما برنامه رو از طریق IDE ویژوال استودیو اجرا میکنید برنامه از داخل فولدر Debug اجرا میشه ولی زمانی که فایل Exe رو خارج از محیط میخواین اجرا کنید برنامه میتونه از هر فولدری غیر از Debug اجرا بشه عمومه فایل تو فولدر Release هست مشکل شما هم همینه یعنی آدرس رو اشتباه میدی برای آدرس دهی نسبی از دستور زیر استفاده کن که آدرس پوشه ای میده که فایل برنامه اونجاست :


My.Application.Info.DirectoryPath


اگر باز هم مشکل داشتید متن کامل خطا رو هم بزارید