PDA

View Full Version : عدم update شدن گزارش در crystal report



hamid159
چهارشنبه 08 تیر 1384, 06:49 صبح
من یک گزارش ساخته ام که در کریستال ریپوت به یک جدول( یا یکstored procedure) در sql server وصل می شود.ولی همیشه همان مقادیر اولیه را نمایش می دهد.مثلا اگر سطرهای جدول تغیر کنند،گزارش همان سطرهای جدول اولیه را نمایش می دهد(updateنمی شود)؟

amirhosein
جمعه 10 تیر 1384, 07:11 صبح
من هم همین مشکل رو در VB دارم . یعنی همیشه مقادیر قبلی نشون داده میشه و من مجبورم همیشه دکمه refresh را بزنم تا اطلاعات صحیح را ببینم . وقتی هم که از متدهای refresh برای viewer کریستا استفاده می کنم یه خطا صادر میشه . اگه کسی حال بده بدجور مخلصشم . :kaf:

meh_secure
چهارشنبه 15 تیر 1384, 12:44 عصر
حتما باید این کد را وارد کنید در غیر این صورت update نمیشه.

Report.discardsaveddata

این کد رو درزمان load شدن فرمی که گزارش در اون هست وارد کنید و حتما درست میشه. :)

PalizeSoftware
چهارشنبه 15 تیر 1384, 17:38 عصر
به احتمال زیاد شما در محیط طراحی کریستال ریپورت بخش Preview رو باز کردید و دیگه نبستید و این باعث شده که داده‌ها به همراه ریپورت شما ذخیره بشه. پروژه گزارش خودتون رو باز کنید و پنجره Preview رو ببندید و گزارش رو ذخیره کنید.
از منوی فایل هم تیک گزینه Save Data with Report رو بردارید تا داده‌ها در هنگام ذخیره از بین بروند.

:sunglass:

Success
جمعه 25 شهریور 1384, 01:34 صبح
meh secure عزیز سلام

واقعا از راهنمایی شما متشکرم ، چون این مطلب چند روزی بود که وقت من را گرفته بود که با راهنمایی شما مشکلم حل شد.

موفق باشید

amirhosein
سه شنبه 29 شهریور 1384, 23:07 عصر
دوستان من هم کد پیشنهادی جناب meh_secure را اجرا کردم هم کارهای جناب palizsoftware را انجام دادم ولی مشکلم کماکان پابرجاست . در ضمن من از کریستال 8.5 اتفاده می کنم !!!

amirhosein
شنبه 02 مهر 1384, 21:30 عصر
من هنوز مشکل دارم :عصبانی:

PalizeSoftware
شنبه 02 مهر 1384, 23:15 عصر
امیرحسین جان گزارشت رو به همراه بخشی از بانک اینجا قرار بده تا ببینم. قاعدتا نباید مشکلی باقی بمونه.

Future
یک شنبه 15 آبان 1384, 13:15 عصر
دوست عزیز من هم با این مشکل برخورد کردم ولی مشکل برطرف نشد من هم برنامه را اینجا می گذارم خدا خیرتان بدهد بد جوری لنگش هستم

amirhosein
جمعه 20 آبان 1384, 16:15 عصر
در هنگام unload شدن گزارش باید بنویسید: set report=nothingموفق باشید .

Future
دوشنبه 23 آبان 1384, 12:27 عصر
دوست عزیز کجای برنامه باید etreport=nothing بنویسم . یعنی برنامه من مشکل نداشت من در ابتدا نوشتم ولی میگه نمی شناسم

i := CrystalReport1.LogOnServer.Add('server');
with CrystalReport1.LogOnServer[i] do
begin
DLLName := 'pdssql.dll.DLL'; {Crystal's Native Oracle Driver}
UserID := 'invtfrosh';
Password := 'xxx';
DatabaseName := 'invtfrosh'; {Not usually req'd for Oracle}
if LogOn then
begin
CrystalReport1.setreport:=nothing
CrpeDS1.DataSet := ADOStoredProc1; {the field types must be in the correct order}
CrystalReport1.ReportName := 'D:\Invt_Company_Sql\Reports\Report_AllGoods.rpt';
CrystalReport1.WindowState := wsMaximized;
CrystalReport1.WindowButtonBar.ActivateAll;
// CrystalReport1.Refresh;
// CrystalReport1.LogOnServer[i].Password := '9731';

// CrystalReport1.DiscardSavedData;
CrystalReport1.ParamByName('@codeanbar','').Clear;
CrystalReport1.ParamByName('@codekala','').Clear;
CrystalReport1.ParamByName('@codeanbar','').Prompt Value:=Edit1.Text;
CrystalReport1.ParamByName('@codekala','').PromptV alue:=Edit2.Text;
CrystalReport1.Show;
دوستان برنامه نویس به من مبتدی کمک کنید

amirhosein
چهارشنبه 02 آذر 1384, 16:54 عصر
دوست عزیز عرض کردم در رویداد form_unload بنویس . یعنی در زمان unload شدن فرم باید شی ء report از بین برود تا در دفعه بعد دوباره ساخته شده و مقداردهی شود . موفق باشید .

m_nejad
دوشنبه 03 بهمن 1384, 17:07 عصر
در مورد refresh نشدن اگر قبل از آخرین کد فراخوانی کنترل کریستال ریپورت کد زیر را true کن:

Report.discardsaveddata