机房收费系统(三)——VB与报表
来源:互联网 发布:抽签问题c编程 编辑:程序博客网 时间:2024/06/05 20:58
周报表,让我纠结了好几天,今天做一点点,发现实现不了,于是又留到第二天,就这样,一个报表让我挂了大概四五天吧。
表新建:
1:点击“插入”——分别选择“报表头、报表尾、页眉、明细网格”
2:点击“插入”——选择“静态框”,在静态框中添加文字信息
3:点击“插入”——选择“综合文字框”,在综合文字框中设置参数“StartData”和“EndData”
即: EndData同StartData一样
4:点击“SQL”,完成数据库连接
在这里点击“测试”后可能会出现这样一个窗体:
这是报表与数据库连接时发生的错误,解决办法是:
第一:换一种连接方式,用sa身份验证、windows身份验证、OLEDB连接数据库、ODBC连接数据库等;
第二:数据库连接使用模块中连接数据库的语句。
5:点击“Clm(根据字段自动生成列)”完成列的设置
6:双击标题行中的字段,完成对标题行的设置
这样就完成了对报表的建立,剩下的,也就是VB与报表连接,在VB中,报表的显示问题。
报表与VB交互
1:界面:
2:添加部件并报表实例化
Dim WithEvents Report As grproLibCtl.GridppReport '实例化报表
WithEvents注意:处理时间源所引发的事件 变量 Report将用于处理对象的事件。可以通过提供类名来指定对象类型,该类是创建这个对象的类。
WithEvents 变量不能是派生对象变量。也就是说,不能把它声明为 As Object—当声明该变量时必须指定类名
不能把 WithEvents 变量声明为 As New。必须明确地创建事件源对象,并将它赋给 WithEvents 变量
不能在标准模块中声明 WithEvents 变量。只能在类模块、窗体模块以及其它定义类的模块中声明
不能创建 WithEvents 变量数组
3:VB中写入程序
窗体加载中:
Private Sub Form_Load() '创建报表对象 Set Report = New grproLibCtl.GridppReport '载入报表模版文件 Report.LoadFromFile (App.Path & "\周报表.grf") '设置数据连接串 Report.DetailGrid.Recordset.ConnectionString = "provider=SQLOLEDB;server=zhudan-pc;database=charge1_sys;integrated security =SSPI" '用来使grdWeekliyBill报表查询器控件显示报表中的内容 grdWeekliyBill.Report = Report grdWeekliyBill.Start Report.ParameterByName("StartDate").Value = Format$(StartDateView.Value, "yyyy-mm-dd") Report.ParameterByName("EndDate").Value = Format$(EndDateView.Value, "yyyy-mm-dd") '日期控件不可见 StartDateView.Visible = False EndDateView.Visible = FalseEnd Sub刷新:
Private Sub cmdRefresh_Click() '账单刷新 Dim strSQL As String Dim strMsg As String Dim objRsWeekliyBill As ADODB.Recordset Dim objRsDaliyBill As ADODB.Recordset If StartDateView.Value > EndDateView.Value Then '条件限制 MsgBox "终止日期不能小于起始日期!", vbOKOnly + vbExclamation, "警告" Exit Sub End If '日期的选定 strSQL = "select * from DayCheckInfo where date between'" & Format$(StartDateView.Value, "yyyy - mm - dd") & "'" & " and'" & Format$(EndDateView.Value, "yyyy-mm-dd") & "'" Set objRsDaliyBill = ExecuteSQL(strSQL, strMsg) strSQL = "select * from WeekCheckInfo" Set objRsWeekliyBill = ExecuteSQL(strSQL, strMsg) Do While objRsWeekliyBill.EOF = False objRsWeekliyBill.Delete objRsWeekliyBill.MoveNext Loop '更新到日结表中 Do While objRsDaliyBill.EOF = False '判断是否有数据 With objRsWeekliyBill .AddNew .Fields(0) = objRsDaliyBill.Fields(0) .Fields(1) = objRsDaliyBill.Fields(1) .Fields(2) = objRsDaliyBill.Fields(2) .Fields(3) = objRsDaliyBill.Fields(3) .Fields(5) = objRsDaliyBill.Fields(4) .Fields(4) = objRsDaliyBill.Fields(5) .Update objRsDaliyBill.MoveNext End With Loop grdWeekliyBill.Refresh '刷新 Report.DetailGrid.Recordset.QuerySQL = "select * from weekcheckinfo where date between '" & StartDateView.Value & "' and '" & EndDateView.Value & "'"
我的报表之所以不按照我的“要求”来检索某一个日期内的数据,就是因为少了最后一句话。
4:最总显示结果
学习,让我在这过程中纠结、郁闷,可当我明白、懂得后,却又是一阵阳光,为了那一丝阳光,我们不断努力着,追求着~~~~~~~~
- 机房收费系统(三)——VB与报表
- 机房收费系统之结账与报表(三)VB与报表代码《一学就会傻瓜版》
- 机房收费系统报表制作(vb与数据库)
- 机房收费系统(一)—报表
- 机房收费系统—报表
- 机房收费系统—报表
- 机房收费系统2——vb与报表的交互
- 【机房收费系统——报表与vb交互之日结账和周结账】
- VB查询数据库之报表——机房收费系统总结(六)
- 机房收费系统(VB.NET)——超详细的报表制作过程
- 【VB与数据库】——机房收费系统总览
- 【VB与数据库】——机房收费系统之上下机
- 【VB与数据库】——机房收费系统之结账
- 【VB与数据库】——机房收费系统总结
- 机房收费系统之VB报表
- VB.NET版机房收费系统---报表
- vb.net机房收费系统报表设计
- 【机房收费系统】VB与grid++report交互(如何让数据以报表格式显示)
- 现年63岁的阿尔诺领有约410亿美元
- sigev_notify选项
- 改变
- chrome重启后丢失所有扩展问题
- ubuntu下eclipse安装配置Pydev时长时间停留在calculating requirements and dependencies 的解决办法
- 机房收费系统(三)——VB与报表
- 洗牌算法之Knuth Shuffle
- 创建和绘制区域
- 附加一 SQL+PL/SQL 学习资料(很好的基础文档(个人珍藏版))/Files/Jack2007/Sqlplsql.pdf
- 七夕从期待变成陌生
- oracle 10g/11g安装使用技巧(更新帖)
- android surfaceflinger研究----Surface机制
- POJ 2236 - Wireless Network
- LeetCode: Trapping Rain Water