******请教关于一个报表的问题,请看代码******

xxfloyd 2002-09-12 03:53:56
各位能否帮我解决一下这个问题?我想学习设计一个打印报表的程序,很简单,窗体上两个check控件,一个“报表预览”按钮,一个退“退出”按钮。
我的想法是,如果用户只选了第一个check,就只在报表上显示“daima”字段的内容,隐藏“mingcheng”字段在报表上所使用的“label”和“text”控件,如果只选了第二个check,就只在报表上显示“mingcheng”字段;如果两个都选,那么就全显示出来。现在请看代码如下:

Option Explicit
Dim testdb As New ADODB.Connection
Dim testrec As New ADODB.Recordset
——————————————————————————————
Private Sub Command1_Click()

Dim rsstr1 As String
Dim rsstr2 As String

rsstr2 = "select mingcheng from testtable"
rsstr1 = "select daima from testtable"

If Check1.Value = 1 And Check2.Value = 0 Then
testdb.Open ("Provider=Microsoft.Jet.OLEDB.4.0;data source=d:\vb\data\test.mdb")
testrec.CursorLocation = adUseClient
testrec.Open rsstr1, testdb, adOpenStatic, adLockReadOnly, adCmdText
Set DataReport1.DataSource = testrec
DataReport1.Sections("section2").Controls("label1").Visible = True
DataReport1.Sections("section1").Controls("text1").Visible = True
DataReport1.Sections("section1").Controls("text1").DataField = "daima"
End If

If Check1.Value = 0 And Check2.Value = 1 Then
testdb.Open ("Provider=Microsoft.Jet.OLEDB.4.0;data source=d:\vb\data\test.mdb")
testrec.CursorLocation = adUseClient
testrec.Open rsstr2, testdb, adOpenStatic, adLockReadOnly, adCmdText
Set DataReport1.DataSource = testrec
DataReport1.Sections("section2").Controls("label2").Visible = True
DataReport1.Sections("section1").Controls("text2").Visible = True
DataReport1.Sections("section1").Controls("text2").DataField = "mingcheng"
End If

If Check1.Value = 1 And Check2.Value = 1 Then
testdb.Open ("provider=microsoft.jet.oledb.4.0;data source=d:\vb\data\test.mdb")
testrec.CursorLocation = adUseClient
testrec.Open "select daima,mingcheng from testtable", testdb, adOpenStatic, adLockReadOnly, adCmdText
Set DataReport1.DataSource = testrec
DataReport1.Sections("section2").Controls("label1").Visible = True
DataReport1.Sections("section1").Controls("text1").Visible = True
DataReport1.Sections("section1").Controls("text1").DataField = "daima"
DataReport1.Sections("section2").Controls("label2").Visible = True
DataReport1.Sections("section1").Controls("text2").Visible = True
DataReport1.Sections("section1").Controls("text2").DataField = "mingcheng"
End If

If Check1.Value = 0 And Check2.Value = 0 Then
GoTo out:
End If

DataReport1.Show
out:
End Sub
————————————————————————————————
Private Sub Command2_Click()
testrec.Close
testdb.Close
Unload Form1
End Sub
结果在运行时报表的窗口一出来,程序就报告说:未找到datafield'(空)'
请问这是为什么?怎么解决?
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
...全文
26 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjmking 2002-09-12
  • 打赏
  • 举报
回复
检查一下有没有关联上
大学老师要我们学习郭永清老师的《财务报表分析与股票估值》这本书,布置了最后两章的作业, 对郭永清老师的《财务报表分析与股票估值》这本书内容的实现 注意事项 代码是基于《财务报表分析与股票估值》的,其中自由现金流的口径与大众认知略有出入,建议使用前先阅读该书第14、15章; 本人非计算机专业,模型代码可能存在部分错误; 银行股暂时无法估值,因为其财报形式和其他种类公司相比略有不同; 数据采用的是邢不行老师整理的股票历史日线数据和新浪财务数据; 本人非财务、会计专业,尽管过程中了CPA大神,但财务数据口径依然可能存在问题。 DCF介绍 自由现金流贴现法是绝对估值法的一种,理论基础是现值原理:任何资产的价值都等于其预期未来全部现金流的现值总和,对公司而言就是自由现金流。 由于准确预测未来所有自由现金流是不可能的,而且股票并没有固定的生命周期,因此将模型简化为以下四种: $$ \begin{aligned} &零增长模型:V=\frac{FCF}{WACC}\ &不变增长模型:V=\frac{FCF(1+g)}{WACC-g}\ &两阶段模型:V=\sum_{t=1}^n\frac{{FCF}t}{(1+WACC)^t}+\frac{TV}{(1+WACC)^n},\ \ 其中TV=\frac{FCF_n(1+g_2)}{WACC-g_2}\ &三阶段模型:V=\sum{t=1}^n\frac{{FCF}0(1+g_1)}{(1+WACC)^t}+\sum{t=n+1}^m\frac{{FCF}n(1+g_2)}{(1+WACC)^t}+\frac{FCF{n+m}(1+g_3)}{(WACC-g_3)(1+WACC)^{n+m}}\ \end{aligned} $$ 零增长模型适用于成熟稳定、没有增长的公司,每年的自由现金流也保持在一个稳定的金额水平,类似于永续年金;如果该类公司的自由现金流全部用于发放股利现金,那么其得出的结果与股利贴现模型非常接近。 不变增长模型适用于成熟的公司,未来的自由现金流以非常缓慢的速度增长。 在两阶段模型中,投资者的预期回报WACC至少要高于总体的经济增长率;不变增长率g2通常小于WACC,反之,意味着很长时间以后公司的规模将超过总体经济规模。 在三阶段模型中,假设所有的公司经历三个阶段:成长阶段、过渡阶段和稳定阶段。三个阶段的成长率由高到低,稳定阶段保持较低增长率的不变增长。 具体计算步骤: 计算自由现金流并依据相应的方法折现($\star\star\star\star\star$) 计算股权价值= 折现后的自由现金流+金融资产+长期股权投资-公司债务 计算少数股东比例 归属于上市公司股东的价值=股权价值$\times$(1-少数股东比例) 每股内在价值=归属于上市公司股东的价值/股本 其中, 经营资产自由现金流=公司维持原有生产经营规模前提下的增量现金流入=经营活动现金流量净额-保全性资本支出=经营活动现金流量净额-固定资产折旧-无形资产和长期待摊费用摊销-处置长期资产的损失 $WACC=k_d\times\frac{D}{D+E}\times(1-t)+k_e\times\frac{E}{D+E}$。其中债务资本成本率=债务资本总额/债务资本平均金额$\times$100%=(财务费用+汇兑收益)/(期初债务资本+期末债务资本)/2;股权资本成本率应该高于同期的国债利率,加上股票投资的风险溢价,我们普遍设置为9%;t为公司实际所得税税率=1-净利润/税前利润。 公司债务=有息债务 少数股东比例=$\frac{少数股东权益}{股东权益合计}$ 股本=市值/股价

807

社区成员

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

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