PDA

View Full Version : انتخاب یه سری رکورد از جدول 2 مرتبط با هریک از رکوردهای جدول 1در زیر همون رکورد از.



کیوان معینی
پنج شنبه 18 خرداد 1385, 23:55 عصر
هدف (مشکل ) :
انتخاب یه سری رکورد از جدول 2 مرتبط با هربک از رکوردهای جدول 1در زیر همون رکورد ازجدول 1


زبان : VB6 - Crystal Report 10 - SQL Server 2000



شماره فاکتور----------------------تاریخ فاکتور----------------کد خریدار
------1--------------------------------18/03-----------------------2
__________________________________________________ __
1 کتاب 1 2000 2000
1 دفتر 5 800 4000



شماره فاکتور ---------------------تاریخ فاکتور----------------کد خریدار
-----50--------------------------------18/03----------------------11
__________________________________________________ __
50 دفتر 2 800 16000
50 کتاب 3 2000 6000
50 خودکار 8 100 800
...


روش هایی که کلی وقت گذاشتم ، جواب نگرفتم :
- دستورات sql پیچیده و پاس دادن انها به CR
- استفاده از دو جدول در CR و link اونها به هم و....
....

روش آخر :

1- یه دستور select ساده برای فیلتر رکورد های مورد نظر از جدول 1
2- اضافه کردن یه Sub report
3- تعریف یه متغییر مشترک shared بین گزارش اصلی و Sub report
4- مقداردهی این متغییر با فیلد مشترک ، برای هر رکورد Select شده از جدول 1
5- پاس دادن متغییر به Sub report
6- تعریف یه پارامتردر Sub report
7- مقداردهی این پارامتر برابر با متغییر( مشترک )
8- فیلتر کردن رکوردهای مورد نظر از جدول 2 با استفاده از پارامتر

مشکل : مرحله 7 : مقداردهی یک پارامتر ( در زمان طراحی)
اگه کسی راه حل مرحله 7 رو بلده یا کلا روش دیگه ای سراغ داره ،ممنونش میشم

shinsinbin@yahoo.com
جمعه 19 خرداد 1385, 00:36 صبح
دوست عزیز نمی دونم که ایا دست متوجه شده ام یا نه - ولی من برای سند هایم 2 تیبل دارم بنام هدر و ایتم در هدورم یک چیزی مثل شماره سند و تاریخ سند را نگه داری می کنم و در ایتم هایم هم همان چیزهایی که شما نوشته اید مثل تعداد-کد کالا و .. حالا چطوری در ذخیره انها یک ارتباط بینشون برقرار می کنم؟(باید یک فکری برای ارتباطشون با هم بکنی)یک عنصر مشترک می گیرم و در هنگامی که رکورد هدر را ثبت می کنم یک فیلدی بنام سریال به ان اختصاص می دهم با یک شماره یونیک در حقیقت همان pk من هست و در ثبت هر قلم از ایتمش این سریال را بنام hdrRef ذخیره می کنم پس حالا من این ارتباط رو برقرار کرده ام و این نوع برقراری ارتباط یک اصل هست-حالا شما یک عامل مشترک بین هر دو تیبل داری و از ه رکدام از تیبل هاتون می توانید به اون یکی تیبل برسی با یک دستور سلکت ساده و هر نوع گزارشی را می توانید بگیرد و یا با گروهبندی این شماره سریالی که گفتم می توایند هر سند و ایتمهایش را جدا کنید و به نتیجه برسید ولی متاسفانه من با subreport کار نکرده ام-اگر مشکلتون حل نشد تیبل و ریپورتتون را بگذارید شاید بتوانم کمکمتون بکنم یا برام میل کنید که اگر نتیجه گرفتیم در این سایت بنویسیم

کیوان معینی
جمعه 19 خرداد 1385, 09:18 صبح
با تشکر از حوصله و جواب شما

به عرض برسونم که من یه فیلد مشترک کلیدی بین دو جدول دارم (مرحله تعریف یه متغییر مشترک shared در بالا ، بخاطر ارتباط بین دو جدول میباشد)
مشکلی که دربکارگیری فقط یک دستور select از دو جدول هست اینکه تعداد ( وآرایش قرار گرفتن ) فیلدهایی که من ازجدول 1 لازم دارم ، با تعداد فیلدهای لازم از جدول 2 ، فرق داره . پس از دوتا select باید استفاده کنم و ادامه مشکل ...

ممنون از شما