تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 4 1234 آخرآخر
نمايش نتايج 1 به 10 از 34

نام تاپيک: گزارش گیری از تمام رکوردها و ارتباط تنگاتنگ دو جدول

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Jun 2009
    محل سكونت
    ملایر
    پست ها
    196

    پيش فرض گزارش گیری از تمام رکوردها و ارتباط تنگاتنگ دو جدول

    به نام خداوند
    دوستان عزیز بانک اطلاعاتی با دلفی و اکسس ساختم و با برنامه fast report 4 قسمت گزارش گیریش رو درست کردم .
    اما مشکل من اینجاست که گزارش گیری ( چاپ کردن ) فقط از رکورد فعال صورت می گیره در صورتی که من می خوام کل رکوردهای یک جدول که مثلاً حساب یک مشتری هستند رو در قالب بندی مشخص شده چاپ کنم .

    سوال دیگه اینکه من دو جدول در اکسس ساختم که این دو جدول دو فیلد دارند که باید در هردو مشترک باشه . مثلا نام مشتری و کد مشتری .
    حالا چیکار کنم که وقتی در جدول دوم کد مشتری رو می زنم ، نام مشتری رو خودش اتوماتیک بر اساس جدول قبلی تشخیص داده و در قسمت مربوطه ( DBGrid ) وارد کنه ؟

    لطفاً سریعاً کمکم کنید چرا که به جوابشون خیلی اختیاج دارم . دوستان لطفاً با یه لینکه منو به تاپیک های دیگه ارجاع ندید من همشنونو خوندم و جوابمو پیدا نکردم . منتظرم هاااااااااااا .

  2. #2
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

    سلام
    اما مشکل من اینجاست که گزارش گیری ( چاپ کردن ) فقط از رکورد فعال صورت می گیره در صورتی که من می خوام کل رکوردهای یک جدول که مثلاً حساب یک مشتری هستند رو در قالب بندی مشخص شده چاپ کنم .
    شما از باندهای موجود در گزارش به درستی استفاده نمیکنید. شما باید از detail band استفاده کنید. آموزش کار با fast report رو در google جستجو کنید
    سوال دیگه اینکه من دو جدول در اکسس ساختم که این دو جدول دو فیلد دارند که باید در هردو مشترک باشه . مثلا نام مشتری و کد مشتری .
    حالا چیکار کنم که وقتی در جدول دوم کد مشتری رو می زنم ، نام مشتری رو خودش اتوماتیک بر اساس جدول قبلی تشخیص داده و در قسمت مربوطه ( DBGrid ) وارد کنه ؟
    نیازی نیست در هر دو جدول هر دو فیلد رو داشته باشید. در جدول اول "کد مشتری" و "نام مشتری" رو قرار بدید و در جدول دوم فقط "کد مشتری". حالا بایک رابطه master/detail و یا ساخت یک join ساده با استفاده از دستورات sql و یا ساخت یک query در access به هدفتون برسید
    دوستان لطفاً با یه لینکه منو به تاپیک های دیگه ارجاع ندید من همشنونو خوندم و جوابمو پیدا نکردم
    درست و با حوصله نخوندید. به هر حال جواب دادم اما اگر باز هم مشکلی هست جستجو کنید چون تمام مشکلات شما قبلا مطرح شده و به نتیجه رسیده.

  3. این کاربر از F A R H A D بخاطر این مطلب مفید تشکر کرده است


  4. #3
    داره خودمونی میشه
    تاريخ عضويت
    Jun 2009
    محل سكونت
    ملایر
    پست ها
    196

    پيش فرض

    فرهاد جان ممنون از جوابت . اشتباه کردم گفتم لینک نذار . ببخشید . لطفاً لینک قسمت هایی که در این مورد بحث شده رو برام میدی ؟

  5. #4
    حـــــرفـه ای F A R H A D's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    1,383

    پيش فرض

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

  6. #5
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2010
    پست ها
    132

    پيش فرض

    سلام.
    من با quick کار میکنم (در دلفی7)و می خواهم به دو صورت گزارش بگیرم :
    1- وقتی شخص مثلا در فرم 1 ، نام . فامیل و... را وارد کرد اگر بیش از یک مورد پیدا کرد ابتدا همه ی آن موارد را نشان بده و بعد که کاربر گزینه(نام یا فامیل یا ...) مورد نظرش را انتخاب کرد اطلاعات آن شخص در گزارش نشان داده بشه. مثلا اگر یک گزینه را انتخاب کرد اطلاعات خرید آن شخص در صفحه ی دوم که صفحه ی گزارش است نشان داده شود.
    2- ابتدا صفحه ی دوم را که قرار است گزارش در آن نمایش داده شود به صورت یک فرم طراحی شود و بعد که کاربر اطلاعات شخص را وارد کرد(در فرم1) ، اطلاعات شخص در فرم 2 گزارش داده شود البته به صورت یک فرم طراحی شده (مثل فرم های عضویت).
    تشکر.

  7. #6
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2008
    پست ها
    131

    پيش فرض

    با سلام این یک آموزش گزارش گیری با فیست البته با اجازه ی سالارمون فرهاد جان
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دوست عزیز a-soft من توصیه میکنم که از فیست برای گزارش گیریتون استفاده کنید چون کار باهاش خیلی راحتر از quick هستش در هر صورت
    - وقتی شخص مثلا در فرم 1 ، نام . فامیل و... را وارد کرد اگر بیش از یک مورد پیدا کرد ابتدا همه ی آن موارد را نشان بده و بعد که کاربر گزینه(نام یا فامیل یا ...) مورد نظرش را انتخاب کرد اطلاعات آن شخص در گزارش نشان داده بشه. مثلا اگر یک گزینه را انتخاب کرد اطلاعات خرید آن شخص در صفحه ی دوم که صفحه ی گزارش است نشان داده شود.
    منظورتونو دقیق نفهمیدم ولی اگه منظورتون اینه که اگه چند رکورد رو با اون جستجو پیدا کرد همشون در یه فرم گزارش نشون بده و اگه با یک جستجوی خاص فقط یک رکورد پیدا شد توی یه فرم انجام بده شما برای این کار میتونید دو تا فرم گزارش بسازید و برای چاپش یه شرط بذارید که اگه تعداد رکوردهای پیدا شده از 1 بیشتر هست فرم 1 که برای نمایش تمام رکورد ها هستش ظاهر بشه و اگه برابر 1 بود فرم 2 که برای نمایش اطلاعات یک رکورد هست نمایش داده بشه
    - ابتدا صفحه ی دوم را که قرار است گزارش در آن نمایش داده شود به صورت یک فرم طراحی شود و بعد که کاربر اطلاعات شخص را وارد کرد(در فرم1) ، اطلاعات شخص در فرم 2 گزارش داده شود البته به صورت یک فرم طراحی شده (مثل فرم های عضویت).
    این سوالتون هم شبیه سوال اولی هست در واقع همون سواله طراحی فرم گزارش دیگه به خودتون بستگی داره که چطوری باشه
    شما آموزش فیست رو دانلود کنید و یه نگاه کنید خیلی راحت میتونید مشکلاتتون رو حل کنید
    موفق باشد

  8. این کاربر از pourya_lover بخاطر این مطلب مفید تشکر کرده است


  9. #7
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2010
    پست ها
    132

    پيش فرض

    بسمه تعالی.
    با سلام خدمت دوست عزیز و تشکر از اینکه به سوال من جواب دادید .
    لینکی را که داده بودید حتما مطالعه می کنم .
    اما فکر کنم من سوالم را درست توضیح ندادم .اگر موافق باشید اول روی سوال اول بحث می کنیم و بعد از به جواب رسیدن در مورد سوال دوم بحث خواهیم کرد .
    اما سوال :
    منظور من این است که شما مثلا یک برنامه ی خرید دارید و یک مشتری ممکن است چند خرید کرده باشد و شاید هم یک خرید .
    حلا من می خواهم در فرم گزارش وقتی کاربر می خواهد از اطلاعات خرید مشتریان گزارش وارد کند ابتدا نام یا فامیل یا هر مشخصه ی دیگری را وارد کند . خب ، ممکن است از این نامی که وارد می کند چند اسم باشد ، پس اول باید کاربر از اسم های پیش رویش یکی را انتخاب کند و حال از اطلاعات خرید مشتری که انتخاب می شود یک گزارش تهیه کند .
    حال مشکلات من در این چند گزینه است :
    1- اگر اسم را وارد کرد و بعد از جستجو چند اسم پیدا شد چگونه این اسم ها را به کاربر نشان بدهم تا وی یکی را جهت گزارش گیری انتخاب کند .
    2- فیلد هایی که در قسمت گزارش گیری است را چگونه با فرم قبلی مرتبط کنم. یعنی اسم مشتری برود در قسمتی که برای اسم تعیین شده است و ..... .
    در ضمن اگر می شود تفاوت گزارش گیری با quick و نرم افزار خودتان را بگویید .
    با تشکر.

  10. #8
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2010
    پست ها
    132

    پيش فرض

    بسمه تعالی.
    با سلام و تشکر.
    فکر کنم من سوالم را درست مطرح نکردم .
    اگر موافق باشید ابتدا در مورد سوال اول بحث می کنیم و بعد از رسیدن به جواب سراغ سوال دوم می رویم.
    سوال اول :
    منظور من این است که مثلا شما یک برنامه ی خرید دارید که می خواهید در فرم گزارش از اطلاعات خرید مشتریان گزارش تهیه نمایید .
    حال کاربر در این قسمت نام یا فامیل یا مشخصه های دیگری از کاربر را وارد می نماید .
    اگر از این مشخصه ها یک فیلد پیدا شد از خرید هایی که این شخص انجام داده گزارش تهیه نماید و اگر چند فیلد پیدا شد این فیلد ها به کاربر نمایش داده شود تا وی یکی از آنها را انتخاب کند تا از خریدهای وی گزارش تهیه نماید .
    حال مشکلات من در این قسمت :
    1- اگر مثلا چند فیلد پیدا شد چگونه این فیلد ها را به کارب نمایش بدهم تا وی یکی از فیلدها را انتخاب نماید و از فیلد مورد نظر خود گزارش تهیه نماید .
    2- چگونه فیلدهای فرم گزارش را با فیلدهای فرم قبلی مرتبط کنم تا مثلا اسم مشتری در قسمت اسم قرار گیرد و .....
    3-اگر بخواهم خریده ایی که مشتری در یک محدوده ی زمانی خاص انجام داده است را گزارش گیری کنم چگونه است ؟
    اگر می شود لطف کنید تفاوت quick را با فیست بیان نمایید .
    با تشکر.

  11. #9
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2008
    پست ها
    131

    پيش فرض

    با سلام
    اول تفاوت ها رو میگم و بعد میرم سراغ جواب من خودم قبلا با Quick کار میکردم اول اینکه در کویک وقتی میخوای ازش استفاده کنی یه جورای باید یه فرم تازه براش بسازی تا با فرمی که قراره ازش گزارش بگیری قاطی نشه و طراحی قسمتها در اون یکم جالب نیست ولی در فیست آیکون کامپوننتش رو میتونی روی فرمی که میخوای گزارش بگیری و با باز کردنش وارد یه محیط جدید میشی و امکانات زیادی در اختیار شما برای طراحی فرم گزارشتون گذاشته و همه چی توش تعریف شده است در کل کار کردن باهاش خیلی راحتر از کیوک هستش البته تفاوت ها زیاده که اینجا نمیشه توضیح داد فکر کنم قبلا براش تایپیکی زده شده باشه اگه خواستید سرچ کنید شاید باشه
    حالا جواب سوالتون
    - اگر مثلا چند فیلد پیدا شد چگونه این فیلد ها را به کارب نمایش بدهم تا وی یکی از فیلدها را انتخاب نماید و از فیلد مورد نظر خود گزارش تهیه نماید .
    2- چگونه فیلدهای فرم گزارش را با فیلدهای فرم قبلی مرتبط کنم تا مثلا اسم مشتری در قسمت اسم قرار گیرد و .....
    3-اگر بخواهم خریده ایی که مشتری در یک محدوده ی زمانی خاص انجام داده است را گزارش گیری کنم چگونه است ؟
    اگر می شود لطف کنید تفاوت quick را با فیست بیان نمایید .
    شما میتونی خیلی راحت برای مشتریاتون یه کد مشتری تعریف کنید و جستجوی مشتری ها رو بر اساس اون انجام بدید این تمام این مشکلاتتونو حل میکنه در هر صورتی شما مشکلتون توی جستجوی جدولتونه شما باید جستجوتونو بر اساس یک چیز که در بین رکورد هاتون مشابه نباشه انجام بدید مثلا این کد مشتری بهترین راهه یا بر اساس نام و نام خانوادگی و نام پدر که ضریب تشابه این فیلدها در بین مشتر هاتون کمه جسجو کنید
    و در مورد اینکه چطوری فیلد های فرم گزارشتون رو با فرمی که در آن جستجو رو انجام میدید ربط بدید خیلی آسونه و توصیه میکنم اول آموزش گزارش گیری ها رو یه بار مطالعه کنید مثلا در کیوک ریپورت شما باید قسمث دیتا بیس فرم گزارشتون رو به جدولتون وصل کنید و در فیست هم به این صورت است و اگه این کار رو انجام بدید با گذاشتن فیلد جدول هاتون در قسمتهای مربوطه مثلا در کیوک در قسمت HasDetail
    میتونید متن داخل فیلداتونو ببیند
    و در مورد سوال سومتون هم باز به جستجوتون مربوط میشه برای این کار برای جدول خرید مشتری هاتون یه فیلد تاریخ میزارید و جستجوتونو بر اساس فلان تاریخ تا فلان تاریخ انجام میدید که اگه از کوئری استفاده میکنید در برنامتون میتونید آموزش دوستان دیگه که کامل در این موارد توضیح دادن رو ببینید
    موفق باشد
    Last edited by pourya_lover; 19-05-2010 at 22:18.

  12. #10
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2010
    پست ها
    132

    پيش فرض

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

صفحه 1 از 4 1234 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •