Crystal Report แสดงค่าซ้ำกัน ต้องทำยังไงครับ มีวิธีตัดค่าซ็ำกันหรือเปล่า
ยี่ห้อ -- ขนาด -- ลาย -- ประเภท -- ราคา
ในคริสตัลรีพอต ตามรูปนะครับ
อยากจะให้ แสดงไม่ซ้ำกัน
อันที่เหมือนกัน ให้ยุบรวมกัน
ที่วงไว้
อยากจะให้ แสดงแค่ 1 แถว แล้วใส่จำนวนลงไปครับ ต้องทำยังไง
เช่น
ยี่ห้อ -- ขนาด -- ลาย -- ประเภท --จำนวน- - ราคา
Finestone -- 24/r16 -- สองทิศ-- ยางใหม่ - - 3 - 111
ต้องการให้ยุบแถวที่ซ้ำกันแล้วนำมาแสดงเป็น จำนวนชิ้น อ่ะครับ
ใน db ต้องเก็บ 1 ชิ้นต่อ 1 id อ่ะครับ เนื่องจาก model กับ รหัสประจำยาง ซึ่งไม่ซ้ำกันอยุ่
crystal report เริ่มจาก 0 เลยครับ
หาก GROUP BY
SELECT brand_name, size_tire, patt_name, type_name, COUNT(tire_n_id) AS totalamount, SUM(price) AS Totals
FROM TIRE_NORMAL
GROUP BY brand_name, size_tire, patt_name, type_name
จะส่งค่า totalamount กับ Totals ไปยัง crystal report ยังไงครับ ที่ลากวาง เพื่อแสดงข้อมูลที่ส่งไป มันไม่ไม่มีอ่ะครับ
Code (C#)
sql = "SELECT brand_name, size_tire, patt_name, type_name,tire_n_id , price FROM TIRE_NORMAL";
DataTable dt = new DataTable("DataSet1");// ชื่อ ดาต้าเซตของเฮา
dt.Columns.Add(new DataColumn("tire_n_id", typeof(string)));
dt.Columns.Add(new DataColumn("brand_name", typeof(string)));
dt.Columns.Add(new DataColumn("size_tire", typeof(string)));
dt.Columns.Add(new DataColumn("patt_name", typeof(string)));
dt.Columns.Add(new DataColumn("type_name", typeof(string)));
dt.Columns.Add(new DataColumn("price", typeof(int)));
ds = new DataSet();
ds.Tables.Add(dt);// Add table เข้าไปใน DataSet
SqlDataAdapter da = new SqlDataAdapter(sql, connection);
sdr = da.SelectCommand.ExecuteReader();
if (sdr.HasRows)
{
while (sdr.Read())
{
DataRow dr = this.ds.Tables["DataSet1"].NewRow(); //เพิ่ม Rows ใหม่
// Add ข้อมูลที่อ่านจาก SQL Base ใส่เข้าไปแต่ละ Rows ของ Temp Table
dr["tire_n_id"] = sdr["tire_n_id"];
dr["brand_name"] = sdr["brand_name"];
dr["size_tire"] = sdr["size_tire"];
dr["patt_name"] = sdr["patt_name"];
dr["type_name"] = sdr["type_name"];
dr["price"] = sdr["price"];
ds.Tables["DataSet1"].Rows.Add(dr); //Add Row เข้าไปใน Temp Table
}
// คืน memory เน้อ
sdr.Close();
connection.Close();
reportbuy crp = new reportbuy();
crp.SetDataSource(ds.Tables["DataSet1"]);
crystalReportViewer1.ReportSource = crp;
crystalReportViewer1.Refresh();
}
Tag : .NET, Ms SQL Server 2008, Crystal Report, C#, VS 2008 (.NET 3.x), VS 2010 (.NET 4.x)
ประวัติการแก้ไข 2012-05-02 03:08:56 2012-05-02 03:09:53 2012-05-02 03:26:18 2012-05-02 03:34:24 2012-05-02 03:35:21 2012-05-02 03:39:57
Date :
2012-05-02 02:18:08
By :
sticked
View :
3643
Reply :
2
ลองใช้ DISTINCT ครับ
Date :
2012-05-02 06:01:23
By :
webmaster
ลอง แล้วผลปรากฎว่า ไม่ได้นะครับ
ผมต้องหา ผลรวมของ ราคาด้วยอ่ะครับ กับ
ผลรวม สินค้าที่ซ้ำกันด้วยครับ
หากใช้ group by
SELECT brand_name, size_tire, patt_name, type_name, COUNT(tire_n_id) AS totalamount, SUM(price) AS Totals
FROM TIRE_NORMAL
GROUP BY brand_name, size_tire, patt_name, type_name
ตรง
COUNT(tire_n_id) AS totalamount, SUM(price) AS Totals
มีวิธีนำตรงนี้ไปยัง crystal report ป่าวคับ
ประวัติการแก้ไข 2012-05-02 12:34:14
Date :
2012-05-02 12:09:16
By :
sticked
Load balance : Server 04