منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : [تم الحل]مشكلة فى جلب قيمة من داتا جريد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6 7 8
(11-07-19, 08:47 PM)asemshahen5 كتب : [ -> ]بالنسبة للطلب الاول اذهب الى Section 4 و اضغط بالزر اليمين واختار كما الصورة :



ثم اختر من النافذة كما الصورة التالية :



و اضغط موافق اما بالنسبة للطلب الثان مبلغ 8798 من اين احضرته من قاعدة البيانات لعمل المطلوب .


هذا المبلغ هو اجمالى الاعمال واحضرته من هنا 


لقد قمت بالمطلوب لكن لاأعرف كيف سأشرح لك المهم اتبع الخطوات التالية :

أولا قم بإضافة ثلاثة بارامترات إلى الريبورت كالصورة التالية :

[attachment=22027]

و قم بتسميتها بالترتيب : AllMoney - AllMoney2 - AllMoney3

[attachment=22038]

ثم قم باضافتها للريبورت كالصورة التالية :

[attachment=22028]

ثم عدل كود زر معاينة ماقبل الطباعة ليكون كالتالي :

PHP كود :
       private void button4_Click(object senderEventArgs e)
 
       {
 
           DataSet ds = new DataSet();
 
           DataTable ds1 = new DataTable();
 
           string Sqlstr "select * from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;
 
           string Sqlstr1 "select Sum(Amount)as Amount from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;


 
           SqlDataAdapter Sda = new SqlDataAdapter(Sqlstrsqlcon);
 
           Sda.Fill(ds"CHEQUES");

 
           SqlDataAdapter Sda1 = new SqlDataAdapter(Sqlstr1sqlcon);
 
           Sda1.Fill(ds1);
 
           int SumMon Convert.ToInt32(ds1.Rows[0][0].ToString());

 
           SELECTED_CONTRACTOR_REPORT rep = new SELECTED_CONTRACTOR_REPORT();
 
           FRM_CLEARANCE_4_CONTRACTOR rpt_view = new FRM_CLEARANCE_4_CONTRACTOR();

 
           rep.SetDataSource(ds);

 
           string AllMoney dataGridView1.Rows[0].Cells[5].Value.ToString();
 
           rep.SetParameterValue("AllMoney"AllMoney);
 
           rep.SetParameterValue("AllMoney2"SumMon.ToString());
 
           Int32 SumAll Convert.ToInt32(AllMoney) - Convert.ToInt32(SumMon);
 
           rep.SetParameterValue("AllMoney3"SumAll);


 
           rpt_view.crystalReportViewer1.ReportSource rep;
 
           rpt_view.crystalReportViewer1.Dock DockStyle.Fill;
 
           rpt_view.crystalReportViewer1.Refresh();
 
           rpt_view.crystalReportViewer1.Show();
 
           rpt_view.ShowDialog();
 
       

و باذن الله ستكون النتيجة كالصورة التالية : 

[attachment=22029]

[attachment=22030]
(11-07-19, 10:14 PM)asemshahen5 كتب : [ -> ]لقد قمت بالمطلوب لكن لاأعرف كيف سأشرح لك المهم اتبع الخطوات التالية :

أولا قم بإضافة ثلاثة بارامترات إلى الريبورت كالصورة التالية :



و قم بتسميتها بالترتيب : AllMoney - AllMoney2 - AllMoney3



ثم قم باضافتها للريبورت كالصورة التالية :



ثم عدل كود زر معاينة ماقبل الطباعة ليكون كالتالي :

PHP كود :
       private void button4_Click(object senderEventArgs e)
 
       {
 
           DataSet ds = new DataSet();
 
           DataTable ds1 = new DataTable();
 
           string Sqlstr "select * from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;
 
           string Sqlstr1 "select Sum(Amount)as Amount from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;


 
           SqlDataAdapter Sda = new SqlDataAdapter(Sqlstrsqlcon);
 
           Sda.Fill(ds"CHEQUES");

 
           SqlDataAdapter Sda1 = new SqlDataAdapter(Sqlstr1sqlcon);
 
           Sda1.Fill(ds1);
 
           int SumMon Convert.ToInt32(ds1.Rows[0][0].ToString());

 
           SELECTED_CONTRACTOR_REPORT rep = new SELECTED_CONTRACTOR_REPORT();
 
           FRM_CLEARANCE_4_CONTRACTOR rpt_view = new FRM_CLEARANCE_4_CONTRACTOR();

 
           rep.SetDataSource(ds);

 
           string AllMoney dataGridView1.Rows[0].Cells[5].Value.ToString();
 
           rep.SetParameterValue("AllMoney"AllMoney);
 
           rep.SetParameterValue("AllMoney2"SumMon.ToString());
 
           Int32 SumAll Convert.ToInt32(AllMoney) - Convert.ToInt32(SumMon);
 
           rep.SetParameterValue("AllMoney3"SumAll);


 
           rpt_view.crystalReportViewer1.ReportSource rep;
 
           rpt_view.crystalReportViewer1.Dock DockStyle.Fill;
 
           rpt_view.crystalReportViewer1.Refresh();
 
           rpt_view.crystalReportViewer1.Show();
 
           rpt_view.ShowDialog();
 
       

و باذن الله ستكون النتيجة كالصورة التالية : 
اخى العزيز 
اول حاجه بجد شكرا جداً على تعبك معايا غلبتك انا معليش
بس فيه حاجه انت ما اخدتش بالك منها وهى ان القيمه دي بتفضل ثابته للاسف مع كل الناس 
يعني انا مثلا اخترت بروجيكت نمبر تانى واسم واحد تانى ف كان العامود اللى بالاحمر دا قيمته ثابته للاسف
دى نفس القيمه اللى في اول اسم وهو  haytham eldsuky

دي المفروض تبقي الرقم دا 5668 مش 8798 
بتمني انك تحل ليا المشكلة دى

مرة تانى الف مليون شكر ليك يا غالي وبجد تعبتك اوى
في المشروع رقم 845 لا يوجد اي دفعة في جدول CHEQUES المفروض يعطيك خطأ المهم عدلت لك كود المعاينة لتتبين ما أعني .

كود زر المعاينة :

PHP كود :
       private void button4_Click(object senderEventArgs e)
 
       {
 
           DataSet ds = new DataSet();
 
           DataTable ds1 = new DataTable();
 
           string Sqlstr "select * from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;
 
           string Sqlstr1 "select Sum(Amount)as Amount from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;


 
           SqlDataAdapter Sda = new SqlDataAdapter(Sqlstrsqlcon);
 
           Sda.Fill(ds"CHEQUES");

 
           SqlDataAdapter Sda1 = new SqlDataAdapter(Sqlstr1sqlcon);
 
           Sda1.Fill(ds1);
 
           if (ds1.Rows[0][0].ToString() == "")
 
           {
 
               MessageBox.Show("لا يوجد له حساب");
 
           }
 
           else
            
{
 
               int SumMon Convert.ToInt32(ds1.Rows[0][0].ToString());

 
               SELECTED_CONTRACTOR_REPORT rep = new SELECTED_CONTRACTOR_REPORT();
 
               FRM_CLEARANCE_4_CONTRACTOR rpt_view = new FRM_CLEARANCE_4_CONTRACTOR();

 
               rep.SetDataSource(ds);

 
               string AllMoney dataGridView1.Rows[0].Cells[5].Value.ToString();
 
               rep.SetParameterValue("AllMoney"AllMoney);
 
               rep.SetParameterValue("AllMoney2"SumMon.ToString());
 
               Int32 SumAll Convert.ToInt32(AllMoney) - Convert.ToInt32(SumMon);
 
               rep.SetParameterValue("AllMoney3"SumAll);


 
               rpt_view.crystalReportViewer1.ReportSource rep;
 
               rpt_view.crystalReportViewer1.Dock DockStyle.Fill;
 
               rpt_view.crystalReportViewer1.Refresh();
 
               rpt_view.crystalReportViewer1.Show();
 
               rpt_view.ShowDialog();
 
           }

 
       
[attachment=22042]
(12-07-19, 06:42 PM)asemshahen5 كتب : [ -> ]في المشروع رقم 845 لا يوجد اي دفعة في جدول CHEQUES المفروض يعطيك خطأ المهم عدلت لك كود المعاينة لتتبين ما أعني .

كود زر المعاينة :

PHP كود :
       private void button4_Click(object senderEventArgs e)
 
       {
 
           DataSet ds = new DataSet();
 
           DataTable ds1 = new DataTable();
 
           string Sqlstr "select * from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;
 
           string Sqlstr1 "select Sum(Amount)as Amount from CHEQUES where Beneficiary_Name='" comboBox3.Text "' and Project_Number =" comboBox2.Text;


 
           SqlDataAdapter Sda = new SqlDataAdapter(Sqlstrsqlcon);
 
           Sda.Fill(ds"CHEQUES");

 
           SqlDataAdapter Sda1 = new SqlDataAdapter(Sqlstr1sqlcon);
 
           Sda1.Fill(ds1);
 
           if (ds1.Rows[0][0].ToString() == "")
 
           {
 
               MessageBox.Show("لا يوجد له حساب");
 
           }
 
           else
            
{
 
               int SumMon Convert.ToInt32(ds1.Rows[0][0].ToString());

 
               SELECTED_CONTRACTOR_REPORT rep = new SELECTED_CONTRACTOR_REPORT();
 
               FRM_CLEARANCE_4_CONTRACTOR rpt_view = new FRM_CLEARANCE_4_CONTRACTOR();

 
               rep.SetDataSource(ds);

 
               string AllMoney dataGridView1.Rows[0].Cells[5].Value.ToString();
 
               rep.SetParameterValue("AllMoney"AllMoney);
 
               rep.SetParameterValue("AllMoney2"SumMon.ToString());
 
               Int32 SumAll Convert.ToInt32(AllMoney) - Convert.ToInt32(SumMon);
 
               rep.SetParameterValue("AllMoney3"SumAll);


 
               rpt_view.crystalReportViewer1.ReportSource rep;
 
               rpt_view.crystalReportViewer1.Dock DockStyle.Fill;
 
               rpt_view.crystalReportViewer1.Refresh();
 
               rpt_view.crystalReportViewer1.Show();
 
               rpt_view.ShowDialog();
 
           }

 
       


عفواً اخى العزيز الخطا كان من عندى انا .. انا كنت لاغي السيرش في الكومبوبوكس


بجد مليون شكرا ليك 
كنت عايز اسالك هو ينفع اخلي قيمه فارغه بس تكون ثابته فى الكومبوبوكس اللي هنا اللى معلم عليه بالاحمر على اساس يعني لما احب احدد القيمه الفارغه دى  يعمل سيرش ويجبلي كل القيم اللى فى الداتا جريد فيو
انا عارف انى غلبتك وتعبتك معايا جداً
مره تانى الف مليون شكر
عدل هذا الكود ليصبح :

PHP كود :
       private void textBox1_TextChanged(object senderEventArgs e)
 
       {
 
           DataTable QDt = new DataTable();
 
           QDt.Clear();
 
           cmd = new SqlCommand("select NAME_OF_CONTRACTOR from CONTRACTORS where PROJECT_NUMBER ='" comboBox2.Text.ToString() + "'"sqlcon);
 
           SqlDataAdapter da = new SqlDataAdapter(cmd);
 
           da.Fill(QDt);
 
           if (comboBox3.Items.Count 0)
 
           {
 
               comboBox3.Items.Clear();
 
           }
 
           if (QDt.Rows.Count 0)
 
           {
 
               comboBox3.Items.Add("");
 
               foreach (DataRow str in QDt.Rows)
 
               {
 
                   comboBox3.Items.Add(str[0].ToString());
 
               }
 
           }
 
       
(12-07-19, 11:13 PM)asemshahen5 كتب : [ -> ]عدل هذا الكود ليصبح :

PHP كود :
       private void textBox1_TextChanged(object senderEventArgs e)
 
       {
 
           DataTable QDt = new DataTable();
 
           QDt.Clear();
 
           cmd = new SqlCommand("select NAME_OF_CONTRACTOR from CONTRACTORS where PROJECT_NUMBER ='" comboBox2.Text.ToString() + "'"sqlcon);
 
           SqlDataAdapter da = new SqlDataAdapter(cmd);
 
           da.Fill(QDt);
 
           if (comboBox3.Items.Count 0)
 
           {
 
               comboBox3.Items.Clear();
 
           }
 
           if (QDt.Rows.Count 0)
 
           {
 
               comboBox3.Items.Add("");
 
               foreach (DataRow str in QDt.Rows)
 
               {
 
                   comboBox3.Items.Add(str[0].ToString());
 
               }
 
           }
 
       

والله ما فيه كلام يوصفك يا غالي
غلبتك معايا ودوشتك قوي انا 
بجد الف مليون شكر ليك
الحمد الله و الشكر الله .

اللهم علمنا ما ينفعنا ، وانفعنا بما علمتنا ، وزدنا علما ، وأرنا الحق حقاً وارزقنا اتباعه ، وأرنا الباطل باطلاً وارزقنا اجتنابه ، واجعلنا ممن يستمعون القول فيتبعون أحسنه ، وأدخلنا برحمتك يارب العالمين .
(13-07-19, 12:40 AM)asemshahen5 كتب : [ -> ]الحمد الله و الشكر الله .

اللهم علمنا ما ينفعنا ، وانفعنا بما علمتنا ، وزدنا علما ، وأرنا الحق حقاً وارزقنا اتباعه ، وأرنا الباطل باطلاً وارزقنا اجتنابه ، واجعلنا ممن يستمعون القول فيتبعون أحسنه ، وأدخلنا برحمتك يارب العالمين .



اخى العزيز asemshahen5 
كان عندى سؤال بعد اذنك
كنت عايز لما احدد الشخص والبروجيكت نمبر بتاعه يعملي Loop ويشوف هل فى العامود الخاص ب ال Descriptipn  مطلع له دفعـه او لا ولــو مكنتش مطلــع لــه دفعــه يكتبلي فــى خـانــه ال Descriptipn كلمــه payment 1 ولــو كنت مطلــع لـــه دفعه تانيه مثلا يكتبلي كلمه payment 2 وهكذا حاولت الصراحه بس بتطلع معايا Payment 11  Big Grin



هنا مثلا انا محدد haytham المفروض لو جيت اطلع له دفعه تانيه يكتبلي فى التيكست بوكس اللى اللى جمبه كلمه Description 
payment 3 طبعاً علشان هنا فيه دفعتين قبل كدا بنفس اسم الشخص ونفس البروجيكت نمبر
بتمني تكون فكرتي وصلت ليك
شكراً جداً مقدماً 
ضع الكود التالي :

PHP كود :
       private void cmbaccountname_SelectedIndexChanged(object senderEventArgs e)
 
       {
 
           textBox5.Clear();
 
           foreach (DataGridViewRow item in dataGridView1.Rows)
 
           {
 
               if (item.Cells[2].Value.ToString()==cmbaccountname.Text && item.Cells[6].Value.ToString()==cmbprojectnumber.Text)
 
               {
 
                   textBox5.Text item.Cells[5].Value.ToString();
 
               }
 
           }
 
       
الصفحات : 1 2 3 4 5 6 7 8