ايران ويج

نسخه‌ی کامل: لطفا كمك كنيد نياز فوري دارم
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
كسي هستش كه كريستال ريپورت رو بلد باشه
شرمنده من بلد نیستم
فهمیدی به منم بگو
سلام
آخ گفتي!
منم فجيع بهش نياز دارم . چيكار كنم ؟!

يه توضيح 2 خطي هم ميتونه كمك كنه يا يه سورس كوچولوي آماده ..
خودمون ديگه دنبالشو ميگيريم .. شما فقط استارت كنيد

ممنون
نبي
redpen نوشته است:كسي هستش كه كريستال ريپورت رو بلد باشه
شما مشكلت رو بگو
اگه بلد بودم حتما راهنمايي ميكنم :wink:
ببين من هميشه از روز اول برنامه نويسي رو با روش سعي و خطا ياد گرفتم . اصلا اينجوري حال ميكنم !
شما اگر يه سورس كوچيك كه 4 تا از دستوراي datareport (شنيدم ساده تره) توش باشه رو بگي كه مثلا يه گزارش گيري كنه از يه جدول ... ساده ترين حالت ممكن ....
ديگه من خودم استادش ميكنم .
آخه وقتي يه فرم datareport ايجاد ميكنم يه صفحه مشبك مثل اكسل مياره . كه نميدونم بايد چيكار كنم . البته فك ميكنم جدول بنديش بايد براي مشخص كردن موقعيت دقيق نوشته ها در روي كاغذ و خروجي باشه ....

در كل از صفر يه توضيح كوچيك ميتونه مفيد باشه . هنوز شروع نكردم كه به مشكلي بر خوردم آخه

الان هم ميرم كتابام رو زير رو ميكنم ببينم پشه ها روزا كجا ميرن ... :wink:

فدات
نبي
دوست عزيز من كريستال ريپورت كار نكردم ولي با ديتا ريپورت كار كردم
روش كار هم اين طوري كه بعد از ايجاد بانك يا با sql و يا با اكسس در قسمت project كليك راست
كرده و بعد يك data Report اضافه ميكني كه از چند بخش تشكيل شده بخش اول كه سر تيتر كل صفحه است و مي توني يه ليبل اضافه كني و سر تيتر رو داخلش بنويسي بخش دوم عنوان
هر كدام از فيلدهاست مثلا براي هر فيلدي كه ميخوايم گزارش گيري كنيم عنواني اضافه كنيم
قسمت سوم محل قرار گيري خود فيلدي است كه ميخواييم نمايش بديم قسمت 4و5 هم مربوط به پاصفحه است در قسمت سمت چپ هم ميشه براي زيبا سازي از خط و ليبل و.. استفاده كنيم.

حالا طرز اضافه كردن فيلد به data report :
براي اين كار بعد از ايجاد بانك و جدول وفيلدها در قسمت project كليك راست كرده و
Datainvaironment رو اضافه ميكنيم روي Datainvaironment كليك راست كرده و بعد properties
رو ميزنيم در تب اول با فرض اينكه بانك ما اكسس است Microsoft Jet 4 OLE provider رو انتخاب مي كنيم و در تب دوم نام ديتابيس رو مي نويسيم و تمام.
حالا دوباره در propertiesDatainvaironment كليك راست كرده و بعد Add Command رو انتخاب ميكنيم و يك Command جديد ساخته ميشه حالا روي اون كليك راست كرده وبعد properties حالا در همين تب اول در قسمت Database Object جدول (Table) رو انتخاب مي كنيم و در قسمت Object Name نام جدولت رو انخاب كن وبعد OK
حالا ميبينيم كه ليست فيلدهامون به Command1 اضافه شده .

براي گزارش گيري هم بايد اون فيلدهايي رو كه ميخواييم ازشون گزارش بگيريم در Datainvaironment انتخاب و به قسمت سوم از بكشيم حالا ميبينيم كه هر فيلد دوقسمت دارد يكي label كه عنوان فيلد است و بايد به قسمت دوم data report كشيده شود و يكي
txtname است كه محتواي فيلد ما است كه بايد در همون قسمت سوم بمونه اين كار رو براي تك تك فيلدها انجام ميديم و بعد هرفيلد در قسمت سوم رو زير عنوان اون در قسمت دوم قرار ميديم براي مرتب شدن.
حالا بايد خاصيت Data source ديتا ريپورت رو برابر با Datainvaironment1 و همچنين خاصيتData Member اونو برابر برابر Command1 قرار مي ديم حالا كار ما تمام شده فقط كافيه كه اونو فراخواني كنيم
مثلا در كليك يه دكمه DataReport1.show
حالا اگه ركوردي در بانك ذخير شده باشه در ديتا ريپورت نشون داده ميشه.

با يه كم ور رفتن با اون مي تونيد گزارش هاي زيبا و مرتبي بگيريد و با دستورات Sql هم ميشه گزارش هاي پيچيده اي گرفت.

اميدوارم بدردتون بخوره براي شروع!
سلام
navidal عزيز ، يه دنيا ممنون [تصویر:  11.gif]

راستش من همون شب كه اون پست بالا رو نوشتن . ياد يكي از كتابام افتادم . رفتم يكي از فصل هاش كه در اين باره بود رو خوندم و تقريبا فهميدم داستان از چه قراره . ديگه يادم رفت بيام اينجا بگم ..

اما مطمئنا از توضيحات كامل و بي نقصتون كه فقط اون چيزايي كه بايد ميگفتيد رو گفتيد من و ديگر دوستان استفاده كرديم . عجرتون با امام حسين !

خب DataReport رو در حدي كه نياز داشتم ياد گرفتم . حالا بايد كار كنم اشكالام رو بگم . ...

حالا ميريم سراغ Crystal Report ، يه سرور پيدا بشه بگه اين يكي داستانش چيه . اصلا بصورت اكتيو ايكسه ؟ از تو رفرنس بايد فراخواني بشه ! برنامه جانبيه بايد نصب بشه !!! من حتي اينا هم نميدونم . صفر!

يا علي

نبي
NabiKAZ نوشته است:سلام
navidal عزيز ، يه دنيا ممنون [تصویر:  11.gif]

راستش من همون شب كه اون پست بالا رو نوشتن . ياد يكي از كتابام افتادم . رفتم يكي از فصل هاش كه در اين باره بود رو خوندم و تقريبا فهميدم داستان از چه قراره . ديگه يادم رفت بيام اينجا بگم ..

اما مطمئنا از توضيحات كامل و بي نقصتون كه فقط اون چيزايي كه بايد ميگفتيد رو گفتيد من و ديگر دوستان استفاده كرديم . عجرتون با امام حسين !

خب DataReport رو در حدي كه نياز داشتم ياد گرفتم . حالا بايد كار كنم اشكالام رو بگم . ...

حالا ميريم سراغ Crystal Report ، يه سرور پيدا بشه بگه اين يكي داستانش چيه . اصلا بصورت اكتيو ايكسه ؟ از تو رفرنس بايد فراخواني بشه ! برنامه جانبيه بايد نصب بشه !!! من حتي اينا هم نميدونم . صفر!

يا علي

نبي
خواهش مي كنم وظيفه هست به هر حال اينجا اومديم كه مشكلا ت هم ديگه رو حل كنيم
در مورد كريستال ريپورت هم بگم كه فقط اينو ميدونم كه در وي بي 6 وجود نداره و بايد بگيري و نصب كني.سي دي اون تو باز هست يه سرچ هم تو اينترنت بزن.
سلام دوستان
خوب بازم مثل اینکه داریم بحث رو سه نفری می کنیما ؟ باید جلوی خصوصی سازی اینجا گرفته بشه Amaze
بریم سر اصل مطلب . من هم با دیتا ریپورت کار کردم . ببینید قبلاٌ یه مشکلی داشتم اونهم این بود که وقتی آدرس بانک اطلاعاتی رو به صورت ثابت می دادیم ، اگه برنامه رو جای دیگه ای یعنی یه آدرس به غیر اون نصب می کردی کار نمی کرد و نمی تونست بانک اطلاعاتی رو پیدا کنه خوب اینو با APP.PATH حل کردم ولی وقتی برنامه رو، بر روی سیستم های دیگه نصب می کردیم و داشتیم با برنامه کار می کردیم و مثلاٌ یه آدرس دیگه رو حتی با نرم افزار های دیگه باز می کردیم اونوقت باز هم آدرس عوض می شد . خوب برای حل این مشکل ابتدا آدرس دیتابیس رو که کنار برنامه اجرایی بود به دست میاوردیم و یه جایی تو برنامه ذخیره می کردیم و بعد از اون به عنوان مرجع استفاده می کردیم . اما موقع استفاده از دیتا ریپورت باز هم مجبوریم که نام بانک رو بدون مسیر بدیم تا خودش از مسیر جاری برداره . این کار تا زمانی که برنامه یه آدرس جدید ایجاد نکردیم درست کار می کنه . مثلاٌ اگه ما بانک اطلاعاتی رو باز کنیم و یا عمل پرینت انجام بدیم مشکلی بوجود نمیاد ولی اگه مثلاٌ برنامه یه خروجی رو فایل داشته باشه مثلاٌ ریپورت رو به صورت فایل HTML رو دیسک ذخیره کنیم و یا اینکه اونو با ادوب آکروبات رایتر پرینت کنیم مسیر جاری به مسیری که فایل جدید قرار گرفته تغییر پیدا می کنه . خوب دیگه بقیشو می تونین حدث بزنین .

اما اصلا قضیه اینکه آیا می شه آدرس بانک اطلاعتی رو در Datainvaironment به صورتی شبیه همونی که تو فرمها تعریف می کنیم داد . یعنی یه چیزی مثل یه مسیر که تو یه متغیر باشه . آخه من فقط می تونم آدرس رو بنویسم نه اینکه به یه متغیر اشاره کنم ؟
اگه ممکنه در این مورد راهنمایی کنین

با تشکر _ مشمولی
سلام
من كمي در اين مورد تحقيق كردم و يكسري كدهايي هم نوشتم ولي هنوز نتونستم Data Environment ، Connection و Command رو به صورت دستي تعريف كنم و آدرسهايي رو كه مي خوام بهشون بدم . اگه اين كار عملي بشه مي تونيم Datasource يك Data Report رو به Data Environment اي كه تعريف كرديم اشاره بديم ( تعريف كنيم ) . اينطوري ديگه همه چيز حله و مي شه خيلي راحت يه برنامه نوشت كه محدود به محل خاصي نباشه و حتي با ديتا بيس اكسس پسورد دار و با هر ورژني كار كنه . فقط اگه ممكنه دوستان كمك كنن كه چطور مي شه اين سه عنصر رو تعريف كرد .

با تشكر ـ مشمولي
v-mashmoolie نوشته است:بریم سر اصل مطلب . من هم با دیتا ریپورت کار کردم . ببینید قبلاٌ یه مشکلی داشتم اونهم این بود که وقتی آدرس بانک اطلاعاتی رو به صورت ثابت می دادیم ، اگه برنامه رو جای دیگه ای یعنی یه آدرس به غیر اون نصب می کردی کار نمی کرد و نمی تونست بانک اطلاعاتی رو پیدا کنه خوب اینو با APP.PATH حل کردم ولی وقتی برنامه رو، بر روی سیستم های دیگه نصب می کردیم و داشتیم با برنامه کار می کردیم و مثلاٌ یه آدرس دیگه رو حتی با نرم افزار های دیگه باز می کردیم اونوقت باز هم آدرس عوض می شد . خوب برای حل این مشکل ابتدا آدرس دیتابیس رو که کنار برنامه اجرایی بود به دست میاوردیم و یه جایی تو برنامه ذخیره می کردیم و بعد از اون به عنوان مرجع استفاده می کردیم . اما موقع استفاده از دیتا ریپورت باز هم مجبوریم که نام بانک رو بدون مسیر بدیم تا خودش از مسیر جاری برداره . این کار تا زمانی که برنامه یه آدرس جدید ایجاد نکردیم درست کار می کنه . مثلاٌ اگه ما بانک اطلاعاتی رو باز کنیم و یا عمل پرینت انجام بدیم مشکلی بوجود نمیاد ولی اگه مثلاٌ برنامه یه خروجی رو فایل داشته باشه مثلاٌ ریپورت رو به صورت فایل HTML رو دیسک ذخیره کنیم و یا اینکه اونو با ادوب آکروبات رایتر پرینت کنیم مسیر جاری به مسیری که فایل جدید قرار گرفته تغییر پیدا می کنه . خوب دیگه بقیشو می تونین حدث بزنین .

اما اصلا قضیه اینکه آیا می شه آدرس بانک اطلاعتی رو در Datainvaironment به صورتی شبیه همونی که تو فرمها تعریف می کنیم داد . یعنی یه چیزی مثل یه مسیر که تو یه متغیر باشه . آخه من فقط می تونم آدرس رو بنویسم نه اینکه به یه متغیر اشاره کنم ؟
اگه ممکنه در این مورد راهنمایی کنین

با تشکر _ مشمولی


واييي !!!
اين كه خيلي مشكل بزرگيه !!!
من الان تستش كردم ديدم حق با شماست .
در مورد مسير دهي ها APP.path حق با شما بود و وقتي مثلا يه فرم open باز ميشد . مسيرش عوض ميشد و مثلا ديتا بيس يا فايل help برنامه رو ديگه پيدا نميكرد !!! خيلي ممنون كه به اين نكته اشاره كردي. و با روشي هم كه ذكر كردي برنامم رو تصحيح كردم .
اما در مورد سوالت در باره Datainvaironment واقعا اين مشكل خيلي حاده ! يعني اگر مسير فايل ديتا بيس تغيير كنه همه چيز به هم ميريزه !! اصلا موقع نصب كه آدرس فايل ديتابيس تغيير ميكنه . چطوري پيداش ميكنه !!


ممنون
نبي
صفحه‌ها: 1 2