【问题标题】:crystal report - Create report Not Equal to Column水晶报告 - 创建报告不等于列
【发布时间】:2017-01-04 16:36:36
【问题描述】:

我有两个学生表和出勤表,它们有一个共同的字段 SID,它们在其中链接

学生

SID |姓名 |等级 |年龄 |

01 | A1 | B1 | 8 |

02 | A2 | B2 | 9 |

03 | A3 | B1 | 8 |

04 | A4 | B4 | 10 |

05 | A5 | B1 | 8 |

06 | A6 | B1 | 8 |

出席

援助 |西德 |礼物 |日期 |

001 | 01 |是 | 16 年 12 月 12 日 |

002 | 01 |是 | 16 年 13 月 12 日 |

003 | 02 |是 | 16 年 12 月 12 日 |

004 | 02 |是 | 16 年 13 月 12 日 |

我想在水晶报告中创建一个报告,它会给缺席的学生, 使用考勤表

I.E 出勤率.SiD Student.SID

【问题讨论】:

  • 什么是报表结构?

标签: crystal-reports crystal-reports-2008 crystal-reports-2010


【解决方案1】:

首先在数据库中使用以下查询创建视图:

select * from Students where SID NOT IN (Select DISTINCT(SID) from Attendance);
  • 创建新表单
  • 在新表单上拖动 N Drop Crested Report 组件
  • 在右上角选择从上述查询创建的视图。
  • 使用标签和数据库字段设计表单
  • 就是这样。

或者如果您无法创建视图,请按照以下步骤操作:

  • 创建新表单
  • 在新表单上拖动 N Drop Crested Report 组件
  • 选择 Student 表进行查询
  • 使用标签和数据库字段设计表单
  • 在表单加载时使用下面的代码

SqlConnection cnn;
          string connectionString = null;
          string sql = null;
          connectionString = "connectring to sql server";
          cnn = new SqlConnection(connectionString);
          cnn.Open();
          sql = "select * from Students where SID NOT IN (Select DISTINCT(SID) from Attendance)";
          SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn);
          DataSet ds = new DataSet();
          dscmd.Fill(ds, "data");
          objRpt.SetDataSource(ds.Tables[0]);
          crystalReportViewer1.ReportSource = objRpt;
          crystalReportViewer1.Refresh();

只是手动分配连接表查询。

【讨论】:

  • 感谢您的及时回复,不幸的是我无权创建视图,我只能使用水晶报表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多