现在的位置: 首页 > 综合 > 正文

报表攻坚

2013年12月07日 ⁄ 综合 ⁄ 共 2221字 ⁄ 字号 评论关闭

 

问题:当时因为没有找到一个集合的表去查询这些个信息,以为要在每一个表里去查询,然后我就一一对应数据里的不同的表。

一、数据库一一对应

“上期充值卡余额”

“上期充值卡余额”Student_info中的字段cash 

当日“消费金额”中的字段LINE_INFO 的consume 中的最后一行

 本期充值卡余额 为上期充值卡余额—当日消费余额

 当日“退款金额”是CANCEL CARD _INFO中的 字段cancel-cash而且是系统日期  

当日“充值金额”是RECHARGE_INFO 中的字段“ADD
MONEY

呵呵,思路上有错误,

这些个东西集合在数据库的一个表里,还是磊磊告诉的,好吧!问的力量

二、和vb结合

           1)按钮的添加

日结账书刷新

           打印

          打印预览

2vb平台下使用报表

vb里用到报表就要学会和报表连接,实质和数据库连接时一个道理的,所以用代码连接吧。

解决方案:这里重点说一下:如何连接报表的方法

重点步骤的解决方法:Report.DetailGrid.Recordset.ConnectionString= "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;UserID=sa;Initial Catalog=charge_sys;Data Source=WG-PC;Use Procedure forPrepare=1;Auto Translate=True;Packet
Size=4096;Workstation ID=WG-PC;UseEncryption for Data=False;Tag with column collation when possible=False"

问题背景及解决过程:时我的问题是代码里出不来grprolibct1 ,只有一个grprolib,运行的时候,就出现了下列错误,

然后在徐娇的帮助下得到解决把withevnents去掉就可以了!

Private report AsgrproLibCtl.GridppReport

向目标又迈进了一小步。

可是还是错了,又倒退回去了!

 

然后接着寻找问题所在可能是  报表版本的问题,我自己下载的版本太高了(师傅帮忙)很显然,这时候出现上面的那个属性了!

然后又遇到了一个小错误(如上),应该放到一个过程里这样就可以解决上面出现的问题了。

Ok,到现在为止已经连接上报表了。呵呵真开心!

又一个开心的时刻!

连接的代码

Option Explicit

Dim WithEvents Report AsgrproLibCtl.GridppReport

 

 

Private SubcmdNew_Click()

Dim txtSQL As String

         '实例化报表

    Set Report = New grproLibCtl.GridppReport

         

         

         

         '报表建立的位置

         Report.LoadFromFile("d:\日结账报表.grf")

         

         '和数据库连接

         Report.DetailGrid.Recordset.ConnectionString ="FileDSN=charge_sys;uid=sa;pwd=123" '数据源

         

         '查询表

         'txtSQL = "select * fromCheckDay_Info"

         

         '把记录查询出来,显示在报表里

         'Report.DetailGrid.Recordset.QuerySQL= txtSQL

'查看报表

         GRDisplayViewer1.Report = Report

         GRDisplayViewer1.Start

End Sub

可是这时候新的问题出现了,如下未能用指定的连接串连接到数据源,连接串中的用户名和密码已经隐藏!

探索:方法一(可能的)下面是百度的结果

可是不对

 

方法二、(这是在一个帖子里看到,后来这个帖子成为了解决问题的关键所在!)

方法二把问题解决了!给我的启发帖子还是很有用的!

 

写入上面代码后,出现不同错误如下,可是可以用同一方案解决!

只想说一句话,命运多舛啊!

 终于找到问题所在,当把这段代码从报表里复制粘贴过来的时候,程序i就可以顺利运行了,只是为什么别人那么简单的连接就可以,自己却要这么复杂,真是让人匪夷所思啊!不过幸好是解决了额!哈哈

代码如下Report.DetailGrid.Recordset.ConnectionString= "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;UserID=sa;Initial Catalog=charge_sys;Data Source=WG-PC;Use Procedure forPrepare=1;Auto Translate=True;Packet
Size=4096;Workstation ID=WG-PC;UseEncryption for Data=False;Tag with column collation when possible=False"

好了,终于可以重重的舒一口气了!

抱歉!评论已关闭.