datareport报表的数据更新

wxjsym 2000-08-10 03:36:00
我使用dataenvironment和datareport制作数据库报表,为什么在不退出程序的情况下数据库刷新后报表不能更新? 特急!拜托!
...全文
152 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterkey 2000-08-10
  • 打赏
  • 举报
回复
您要对DataEnvironment中的数据源关闭后重新开启,然后再看DataReport中的数据就能更新了。 我也遇到过这样的情况,现在对DataEnvironment中的数据源我用 :
sSQL = "SHAPE {SELECT * from mytable} AS detail COMPUTE detail BY field1"
If myData.rs_grouping.State = 1 Then myData.rs_grouping.Close
myData.rs_grouping.Open sSQL, myData.Public, adOpenKeyset, adLockReadOnly, adCmdText
祝您好运!
playyuer 2000-08-10
  • 打赏
  • 举报
回复
DataReport的内容不随数据库的内容变化
http://www4.netease.com/~askpro/msg19/qa74.htm

Requery方 法 !
也 可 以 直 接 使 用 ADODB.Recordset!不 使 用 DataEnvironment!例 :
...
public adoRecordsetX as ADODB.Recordset
...

Private Sub DataReport_Initialize()
adoRecordsetX.Requery
Set DataReport1.DataSource = adoRecordsetX '设 置 DataReport 的 数 据 源
...
'绑 定 某 字 段
Me.Sections.Item("Section1").Controls.Item("text1").DataField=adoRecordsetX.Fields.Item(0).Name
...
End Sub
wuxiaoqiang的 意 见 :
在 你 们 有 关 上 述 问 题 的 回 答 , 我 想 再 增 加 一 种 更 简 单 的 解 决 办 法 。
1.在 datareport 报 表 中 设 置 datamember和 datasource为 空 。
2.将 以 前 绑 定 的 RptTextBox的 datamember设 为 空 , 保 留 原 来 的 datafield.
3.在 打 印 操 作 中 增 加 以 下 代 码 :
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" + App.path + "\finance.mdb" + ";"

Set tb = New Recordset
tb.Open "select * from dailyfeeprint", db, adOpenStatic, adLockOptimistic
With tb

.AddNew
![工 号 ] = Combo1(0).Text
![姓 名 ] = txtFields(0).Text
![交 费 日 期 ] = txtFields(1).Text
.........
.Update
End With

Set data1.Recordset = tb

Set datareport1.DataSource = data1
datareport1.Show
datareport1.PrintReport
其 实 这 个 问 题 也 搞 得 我 很 头 疼 , 希 望 能 让 其 他 人 不 再 头 疼 。
herycom的 意 见 :
直 接 Requery 一 下 就 可 以 了 。
Private Sub DataReport_Initialize()
DataEnvironment1.rsCommand1.Requery
End Sub

此问题由于溪玥回答。

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧