نمایش نتایج 1 تا 14 از 14

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

  1. #1
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82

    گزارش گیری از دو جدول همزام که به هم هیچ ربطی ندارند

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

    این کد رو هم من استفاده کردم تو بانک اکسس جواب داده و لی با اسکیو ال جواب نمی ده


    string
    selectitem = listView1.Items[listView1.FocusedItem.Index].SubItems[1].Text;
    //تهیه گزارش پرینت
    SqlConnection objConnection = newSqlConnection("Persist Security Info=False; server=exam; database=waranty; Integrated Security=True;");
    SqlDataAdapter objDataAdapter = newSqlDataAdapter();
    DataSet objDataSet = newDataSet();
    objDataAdapter.SelectCommand =
    newSqlCommand();
    objDataAdapter.SelectCommand.Connection = objConnection;
    objDataAdapter.SelectCommand.CommandText =
    "SELECT sabt_kala.no_kala,sabt_kala.serial,sabt_kala.mosha khasat,sabt_kala.daryaftaz,sabt_kala.waranty,sabt_ kala.daryaft_date,sabt_kala.moshkel,sabt_kala.tozi hat,user_t.company_name,user_t.zir1,user_t.zir2 FROM sabt_kala,user_t where serial like '" + selectitem + "%'";
    objDataAdapter.SelectCommand.CommandType =
    CommandType.Text;
    objConnection.Open();
    // بار گذاری جدول در دیتا آداپتور
    objDataAdapter.Fill(objDataSet, "sabt_kala,user_t");
    objConnection.Close();
    //********************************************
    frm_sabt_report sabt_report = newfrm_sabt_report();
    crystalReport11.SetDataSource(objDataSet.Tables[
    "sabt_kala,user_t"].DefaultView);
    sabt_report.crystalReportViewer1.ReportSource = crystalReport11;
    sabt_report.ShowDialog();


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

  2. #2
    فکر کنم اگه یه ریلیشن هم تو کدت بنویسی و اونها رو بهم ربط بدی مشکلت حل میشه

  3. #3
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82
    بیشتر راهنماییم کنید ممنون می شم کتاب sql ندارم فعلا زیادم sql وارد نیستم

  4. #4
    ربطی به sql نداره منظورم دیتا ریلیشن Ado.net بود

    DataRelation drl = new DataRelation("RelationName","ParentColumn","ChildC olumn");
    dataset1.Relations.Add(drl) ;

  5. #5
    نقل قول نوشته شده توسط gdevnb مشاهده تاپیک
    فکر کنم اگه یه ریلیشن هم تو کدت بنویسی و اونها رو بهم ربط بدی مشکلت حل میشه
    می فرمایند ، جداول ربطی به هم ندارند.

  6. #6

    پاسخ

    نقل قول نوشته شده توسط ebtekar مشاهده تاپیک
    من این کار رو برای زیر نویس فاکتور و نام شرکت می خوام انجام بدم که کار بر می تونه اون رو در فرم دیگه ای تغییر بده ولی مشکلم الان اینه که نمی تونم تو گزارشم بیارمش
    ابدا نیازی به کد بالا نیست.
    این کار را با ارسال پارامتر به گزارشتان انجام دهید.
    نمونه برنامه

  7. #7
    سلام من یه سوال در مورد datagrid داشتم با این اوصاف که چطور در گرید میشه combo هم داشت مثل subform در access با تشکر.

  8. #8
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82
    نقل قول نوشته شده توسط vahiddastitash مشاهده تاپیک
    سلام من یه سوال در مورد datagrid داشتم با این اوصاف که چطور در گرید میشه combo هم داشت مثل subform در access با تشکر.
    دوست عزیز سرچ کنی زیاد پیدا می کنی

  9. #9
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82
    نقل قول نوشته شده توسط choobin84 مشاهده تاپیک
    ابدا نیازی به کد بالا نیست.
    این کار را با ارسال پارامتر به گزارشتان انجام دهید.
    نمونه برنامه
    من کد شما رو نگاه کردم ولی اون چیزی رو که من می خوام توش نتونستم پیدا کنم این کد تو اکسس جواب می ده ولی تو اسکیو ال جواب نمیده نمی دونم مشکل از چی هستش راهنماییم کنید لطفا

  10. #10
    نقل قول نوشته شده توسط ebtekar مشاهده تاپیک
    من کد شما رو نگاه کردم ولی اون چیزی رو که من می خوام توش نتونستم پیدا کنم این کد تو اکسس جواب می ده ولی تو اسکیو ال جواب نمیده نمی دونم مشکل از چی هستش راهنماییم کنید لطفا
    چرا جواب میده.
    مشکل شما دقیقا چیه؟خطایی چیزی میده یا دستور sql شما خروجی نداره؟
    شاید در گزارشتون پارامتر ها رو ایجاد نکرده اید...

  11. #11
    کاربر تازه وارد آواتار ebtekar
    تاریخ عضویت
    آذر 1385
    محل زندگی
    گیلان-رشت
    پست
    82
    آقا من فهمیدم مشکل از کجاست ولی نمیتونم حلش کنم من یه شرط برای کامانتم گذاشتم که در صورت مساوی بودن serial با فیلد اول دیتا ویو اطلاعات اون جدول بار گذاری بشه حالا چون تو جدول دوم serial وجود نداره پس نمی تونه با اطلاعات جدول دوم رو نشون بده بخاطر همین من تو گزارشم جدول اول میاد ولی جدول دوم نمیاد تو اکسس اینطور نبود

    حالا اگه روش دیگه ای برای select کردن وجود داره که هستش ولی من بلد نیسم لطف کنید تا منم استفاده کنم

  12. #12
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    من هنوز یک چیز رو درک نکردم و اون اینکه چطور دو جدولی که به هم ارتباطی ندارن رو میخوای بینشون Relation برقرار کنی!!!

    این ارتباط بر مبنای کدام فیلدها هست؟

  13. #13

    پاسخ

    فایل گزارشتون رو با کریستال ریپورت باز کنید.
    از منوی view ‌ گزینه field Explorer رو انتخاب کنید . در پنجره field explorer گزینه parameter fields وجود دارد روی آن راست کلیک کنید و سپس new را بزنید.
    company_name را در باکس name وارد کنید . Ok رو بزنید.
    company_name رو روی گزارشتون بذارید و تغییرات رو ذخیره کنید.
    در محیط کد نویسی اونجایی که می خواهید گزارش رو چاپ کنید این تیکه کد ها رو بنویسید:

    ParameterFields paramFields=new ParameterFields();
    ParameterField paramField1=new ParameterField();
    ParameterDiscreteValue discreteVal1=new ParameterDiscreteValue();


    paramField1.ParameterFieldName = " company_name ";
    discreteVal1.Value = "برنامه نویس";
    paramField1.CurrentValues.Add(discreteVal1);
    paramFields.Add(paramField1);


    datatable رو هم فقط از جدول اولتون پر کنید.
    .
    .
    .

    گزارشتون رو صدا بزنید.


    کلاس reports موجود در برنامه ای که لینک گذاشتم هم همین کار رو انجام میده

  14. #14
    نقل قول نوشته شده توسط سار مشاهده تاپیک
    من هنوز یک چیز رو درک نکردم و اون اینکه چطور دو جدولی که به هم ارتباطی ندارن رو میخوای بینشون Relation برقرار کنی!!!

    این ارتباط بر مبنای کدام فیلدها هست؟
    می توان چند تا جدول رو که با هم هیچ فیلد مشترکی ندارند الحاق کرد.
    الحاق(پیوند) در این جود مواقع از نوع کاملش هست و مستلزم اینه که به ازای هر رکود از جدول اول ، رکورد های جدول دوم پیوند بخورند.
    یه چیزی توی مایه های ضرب کارتزین.

    این روش به هیچ عنوان پیشنهاد نمی شود ، ضرب کارتزین جداول سربار زیادی برای سیستم ایجاد می کند.

    پیوند جداولی که فیلد مشترکی دارند، سربارشان کمتر است.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •