PDA

View Full Version : مشکل جدید با crystal report



mikhak
جمعه 16 اردیبهشت 1384, 13:45 عصر
سلام
گشتم ولی پیدا نکردم
همه ی اون dll و msm هایی رو که گفته بودین اظافه کردم و یه فایل نصب باهاش درست کردم
دیگه واسه dll ایراد نمیگیره ولی یه ارروره جدید میده


load report failed

لطفا راهنماییم کنین

mikhak
یک شنبه 18 اردیبهشت 1384, 10:33 صبح
یعنی تا حالا کسی همچین چیزی ندیده؟؟؟

Boo Ali
یک شنبه 18 اردیبهشت 1384, 11:48 صبح
شاید توصیه چندان مستدلی نباشد ولی اگر روی کامپیوترت نگارش دیگری از Crystal

report را داری ، مثلا نگارش 9 ، بهتر است آن را حذف و یا در هنگام اضافه شدن Dll

ها در Solution دقت کنی که dll های نگارش نصب شده جایگزین نگردد ، که تشخیص

این قضیه خیلی راحت نیست . من هم ایم مشکل را با روش اول برطرف کردم.

bashir_nashi
یک شنبه 18 اردیبهشت 1384, 12:15 عصر
اون ارور که بالا گفتی فکر نکنم مر بوط به نصب صحیح یا غلط dllهای کریستال رپورت باشه .
بلکه کریستال رپورت نمی تونه گزارش بگیره .
مثلا پسورد اشتباه یا مسیر غلط بانک . . .

mikhak
یک شنبه 18 اردیبهشت 1384, 12:42 عصر
شاید توصیه چندان مستدلی نباشد ولی اگر روی کامپیوترت نگارش دیگری از Crystal

report را داری ، مثلا نگارش 9 ، بهتر است آن را حذف و یا در هنگام اضافه شدن Dll

ها در Solution دقت کنی که dll های نگارش نصب شده جایگزین نگردد ، که تشخیص

این قضیه خیلی راحت نیست . من هم ایم مشکل را با روش اول برطرف کردم.

نگارش دیگه ای نصب نکردم dll ها رو هم تست کردم



اون ارور که بالا گفتی فکر نکنم مر بوط به نصب صحیح یا غلط dllهای کریستال رپورت باشه .
بلکه کریستال رپورت نمی تونه گزارش بگیره .
مثلا پسورد اشتباه یا مسیر غلط بانک . . .

باید تست کنم چطوری آدرس بدم بهتره؟؟؟؟

Boo Ali
سه شنبه 20 اردیبهشت 1384, 08:48 صبح
بعنوان توصیه ای دیگر Visual Studio.Net خود را Repair کنید و پس از انجام این کار

سعی کنید یک project از نوع setup را بعنوان تست بسازید ، یکی از شرایط یک

Visual Studio.Net خوب ساختن کامل و بدون Error فایلهای setup است.

اگر کمی ساختار برنامه خود را هم تشریح نمایید بهتر می توان به جزییات مشکل پیش آمده پی برد.

mikhak
سه شنبه 20 اردیبهشت 1384, 09:42 صبح
بو علی جان ممنون
من همون مشکل آدرس دهی داشتم
چطوری میتونم یه آدرس ثابت تعریف کنم یعنی برنامه هر جا نصب بشه درست کارکنه؟؟؟
تو انجمن گشتم یه چیز پیدا کردم ولی کارم را نیافتاد

Boo Ali
سه شنبه 20 اردیبهشت 1384, 12:08 عصر
برای اینکه برنامه شده در هر کجا نصب شد براحتی و بدون مشکل بتواند فایلهای

Crystal report را Load کند با برای مسیر دهی آن از object ای بنام

ReportDocument استفاده نمایید . این object را هم می توانید بصورت runTime و

با استفاده از Library ای تحت این آدرس :

CrystalDecisions.CrystalReports.Engine.ReportDocum ent

استفاده نمایید و هم در toolbox و در tab ای که عنوان Components دارد بهره ببرید.

این Object خودش مسیر دهی گزارش را کنترل می کند و امکانات فراوان و مفیدی

برای چاپ و نمایش گزارش دارد.

اگر به مشکلی برخوردید و یا نکته ای دریافتید آماده تبادل اطلاعات هستم.

mikhak
سه شنبه 20 اردیبهشت 1384, 16:01 عصر
ممنون از راهنماییتون مشکل فایل RPT حل شد یعنی الان پنجره crystalviewer رو میاره ولی وقتی میخواد خود گزارش رو بیاره یه پنجره باز میکنه و اسم سرور و بانک و یوزر و پس میخواد فکر کنم باید یه کاری کنم که مسیر فایل mdb عینی همون بانک هم متغیر باشه میشه در این مورد هم راهنماییم کنین؟؟

علیرضا مداح
سه شنبه 20 اردیبهشت 1384, 19:22 عصر
ممنون از راهنماییتون مشکل فایل RPT حل شد یعنی الان پنجره crystalviewer رو میاره ولی وقتی میخواد خود گزارش رو بیاره یه پنجره باز میکنه و اسم سرور و بانک و یوزر و پس میخواد فکر کنم باید یه کاری کنم که مسیر فایل mdb عینی همون بانک هم متغیر باشه میشه در این مورد هم راهنماییم کنین؟؟

از کد زیر استفاده کنید :


Dim myreport As New MyReport
Dim linfo As New CrystalDecisions.Shared.TableLogOnInfo
Dim cinfo As New CrystalDecisions.Shared.ConnectionInfo
cinfo.DatabaseName = "Database File Path"
cinfo.Password = "Database Password"
linfo.ConnectionInfo = cinfo
myreport.Database.Tables("TableName").ApplyLogOnInfo(linfo)

البته راه بهتر برای نمایش گزارش استفاده از دیتاست میباشد و انجام آن بدین صورت است :


MyReport.SetDataSource(MyDatasetTable)

mikhak
پنج شنبه 22 اردیبهشت 1384, 13:19 عصر
ممنون
این کدی رو که داده بودین رو تابع load کریستال ویور تست کردم ولی فقط crystalviewer رو خالی میاره و هیچی :گیج: :sad2:
کد رو هم به این صورت تغییر دادم


Dim myreport As New RptCourseAll
Dim linfo As New CrystalDecisions.Shared.TableLogOnInfo
Dim cinfo As New CrystalDecisions.Shared.ConnectionInfo
cinfo.DatabaseName = "..\data\busi.mdb"
' cinfo.Password = "Database Password"
linfo.ConnectionInfo = cinfo
myreport.Database.Tables("bu").ApplyLogOnInfo(linfo)

help me plz

bashir_nashi
پنج شنبه 22 اردیبهشت 1384, 16:52 عصر
من چند تا کد رو برای گزارش از اکسس رمزدا استفاده کردم که هیچ کدوم جواب نداد و مجبور به وارد کردن دستی رمز بودم .(اینجا هم سوال کردم بی پاسخ موند)
اگه راهشو پیدا کردی به ما هم بگو :flower:

mikhak
پنج شنبه 22 اردیبهشت 1384, 19:06 عصر
حتما کسی تا حالا اصلا همچین چیزی ندیده و باهاش کار نکرده اگه کسی بود که یه جواب به ما میداد؟؟؟؟؟؟؟؟

علیرضا مداح
پنج شنبه 22 اردیبهشت 1384, 19:14 عصر
دوست عزیز شما باید کد زیر را برای نمایش گزارش به کد فوق اضافه نمایید :


CrystalReportViewer1.ReportSource = MyReport
CrystalReportViewer1.Refresh

اما همانطور که گفتم بهترین راه استفاده متد SetDataSource در جهت نمایش گزارش میباشذ تا دیگر نیازی به وارد کردن اطلاعات مربوط به اتصال نباشد :


MyReport.SetDataSource(MyDataSet.Tables(TableName) )
CrystalReportViewer1.ReportSource = MyReport
CrystalReportViewer1.Refresh

mikhak
پنج شنبه 22 اردیبهشت 1384, 21:18 عصر
ممنون مشکل من تقریبا حل شد
فقط الان یه پنجره میاره و server name و database و password و..... میخواد اگه به کد بالا که من تغییر دادم توجه کنین من گزینه پسورد رو حذف کردم این مشکل نداشته باشه؟؟؟؟؟

bashir_nashi
جمعه 27 خرداد 1384, 21:21 عصر
سلام.
من آخرش این مشکل گزارشگیریم حل نشد :(
خیلی وقته که من با استفاده از کدهای زیادی از جمله کدهای بالا سعی می کنم از اکسس رمزدار گزارش بگیرم که هنوز موفق به انجام این مهم نشدم. :mrgreen:
به عکس زیر نگاه کنین . دیتا گرید و کریستال رپورت هر دو از یک دیتا ست لود می شوند ولی همانطور که مشخص است دو سطر آخر جدول در گزارش نیست . چون موقع ساخت گزارش هنوز اون دو سطر وارد جدول نشده بودند . یعنی با اینکه من بااستفاده از کد زیر رپورت رو از ذیتا ست می گیرم ولی همون گزارش طراحی شده نمایش داده می شه.


Dim myreport As New R1()
myreport.SetDataSource(DataSet11.Tables(0))
CrystalReportViewer1.ReportSource = myreport
CrystalReportViewer1.Refresh()

اگه هم رفرش کنم ( چه با کد چه با کلید بالای گزارش ) پنجره آشنای درخواست پسورد میاد .
Please help me

علیرضا مداح
یک شنبه 29 خرداد 1384, 23:29 عصر
اگه هم رفرش کنم ( چه با کد چه با کلید بالای گزارش ) پنجره آشنای درخواست پسورد میاد .
دوست عزیز در صورتیکه شما در حین طراحی گزارش(در مد طراحی) ، منبع داده را بر روی یکی از جداول دیتاست موجود در پروژه تنظیم نمایید ، در هنگام رفرش کردن پنجره ی یاد شده نمایش داده نخواهد شد .


خیلی وقته که من با استفاده از کدهای زیادی از جمله کدهای بالا سعی می کنم از اکسس رمزدار گزارش بگیرم که هنوز موفق به انجام این مهم نشدم.
به عکس زیر نگاه کنین . دیتا گرید و کریستال رپورت هر دو از یک دیتا ست لود می شوند ولی همانطور که مشخص است دو سطر آخر جدول در گزارش نیست . چون موقع ساخت گزارش هنوز اون دو سطر وارد جدول نشده بودند . یعنی با اینکه من بااستفاده از کد زیر رپورت رو از ذیتا ست می گیرم ولی همون گزارش طراحی شده نمایش داده می شه.

یکی از راه حلهای این مشکل این است که هر بار که دیتاست و بانک را آپدیت میکنید ، منبع داده گزارش را از طریق متد SetDataSource تنظیم نمایید :


OleDbDataAdapter1.Update(DataSet11)
Dim MyReport As New CrystalReport1
MyReport.SetDataSource(DataSet11.Tables(0))
CrystalReportViewer1.ReportSource = MyReport
CrystalReportViewer1.Refresh()

bashir_nashi
دوشنبه 30 خرداد 1384, 15:32 عصر
منو ببخشید که مشکلم حل نشد . :(

دوست عزیز در صورتیکه شما در حین طراحی گزارش(در مد طراحی) ، منبع داده را بر روی یکی از جداول دیتاست موجود در پروژه تنظیم نمایید ، در هنگام رفرش کردن پنجره ی یاد شده نمایش داده نخواهد شد .
نمایش داده میشه . همون اول موقع باز شدن فرم حاوی کریستال ویور ازم نام دیتا بیس و پسورد می خواد . من اینکارو کردم ( شکل )
جدول t1 از dataset1
اگه اشتباهی دارم بهم بگین .

علیرضا مداح
دوشنبه 30 خرداد 1384, 18:53 عصر
دوست عزیز به مثال زیر توجه کنید :
---پسورد بانک اکسس 123 میباشد---

bashir_nashi
سه شنبه 31 خرداد 1384, 18:37 عصر
آقای مداح از لطف و توجهتون متشکر :flower:
همیشه نکات کوچکی هست که بی توجهی به اونها دردسر ساز میشه . :oops:

ad.davachi
سه شنبه 23 اسفند 1390, 11:49 صبح
لطفا به من کمک کنید من روی یک سرور با گزارش گیری مشکلی ندارم
اما روی یک سرور دیگه ازم یوزر نیم و پسورد میخواد
تا حالا کسی به این مشکل برخورده؟
وقتی کنسل میزنم گاهی این اررور میاد
Retrieving the COM class factory for component with CLSID