说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何动态更新数据报表

HTML文档下载 WORD文档下载 PDF文档下载
VB如何动态更新数据报表

本文向你介绍如何一个在设计时没有绑定任何数据的数据报表。用这种方法创建的报表能让你不必事先知道数据源中字段的名称。

一般来讲,使用数据报表时,TextBox必须绑定到一个ADO记录集。在某些情况下,你需要在运行时创建一个数据报表,而在设计时你并不知道数据源中字段的名称。
为完成此功能,你必须在工程中添加一个数据报表,该报表中的控件数须同你想获取的字段数一致.然后打开ADO记录集,循环更新数据报表。下面的代码实现了此功能。

首先开始一项新的EXE工程,Form1被自动添加。

在工程菜单中选取引用,然后选择Microsoft ActiveX Data Objects.

从工程菜单中选择“添加数据报表”。如果你你没有看到此选项,你必须在该菜单
中选择“部件...”,然后切换到设计器,从中选取对数据报表的引用。 

将数据报表的名称属性改为DR。 

添加两个Report Label和两个Report TextBox到报表中的“细节”区。 

在窗体Form1中添加一个名为Command1的命令按钮。 

将下述代码放在Form1中: 

Dim cn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim cmd As New ADODB.Command


Private Sub Command1_Click()

Dim q As Integer

Dim intCtrl As Integer

Dim x As Integer

Dim z As Integer

x = 0

q = 0

z = 0


With DR

.Hide

Set .DataSource = rs

.DataMember = ""

With .Sections("Section1").Controls

For intCtrl = 1 To .Count

If TypeOf .Item(intCtrl) Is RptLabel Then

.Item(intCtrl).Caption = rs.Fields(q).Name & " :"

q = q + 1

End If

If TypeOf .Item(intCtrl) Is RptTextBox Then

.Item(intCtrl).DataMember = ""

.Item(intCtrl).DataField = rs(z).Name

z = z + 1

End If

Next intCtrl

End With

.Refresh

.Show

End With

End Sub


Private Sub Form_Load()


Command1.Caption = "Show Report"


cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"


With cmd

.ActiveConnection = cn

.CommandType = adCmdText

.CommandText = "Select FirstName, Lastname from Employees"

.Execute

End With


With rs

.ActiveConnection = cn

.CursorLocation = adUseClient

.Open cmd

End With


End Sub

本例中用到Northwind数据库,上面的路径可能与你计算机中Northwind的路径不同,改变相关的语句然后运行程序。


第六届中国云计算大会将于5月20-23日在京隆重召开 大数据实战:站在JMP分析平台上的FIT足迹识别技术 首届SAP d-code大会在上海举办 【OSTC讲师专访】ZoomQuiet:因商业化而开源是中国开源界最大的囧处 亿元资金扶持+联手100家VC,腾讯的雄心壮志 如果大家有硬件问题都可以找我 调查:每天下午4点以后程序员的疲劳度! java问题 如何获取query1当前的状态? 请教几个javascript得问题,急 VS 7.0 (.NET SDK 1.0) 中有没有用C#/Vb.net创建ActiveX 控件的模板?? 高分(300+) 求 <<组件技术讲义>> 潘爱民 SCOM习题 质优答案 What kind of ASM does LINUX(kernel) use? 帮忙呀~~~:)100 分~~~:)关于AVI制作~~~:) More Than That (Live) 歌词 害怕英语怎么说 Love you more than I can 英语翻译被给我整百度自动翻译,那东西没法看 你是我生命中的一部分,英语怎么说? 英语翻译Lin’I Love you more t 你是我生命中最美好的部分用英语怎么说? why I like music英语作文 “最特别的存在”英语怎么说?形容人的如题,形容对方 印度雄心勃勃探火星 英媒议论“与中国中印时隔5年再次联合军演 更多表达政浙医二院对抗菌药动真格 去年有医生被杭州正研究建设“城市风道” 引风进城李克强看望黑龙江受灾群众:不让一个群“中关村指数2016”发布 创新创业斯诺后代谈《西行漫记》:“很遗憾,年焦扬担任复旦大学党委书记 曾任全国妇妻与男网友裸聊索要红包 丈夫感觉戴绿临沂:罪恶搭档一言不合持刀相向 引发大唐嗨皮牛爷辰国秘史混乱大唐文明创世我的三国我当家苏州乐园旅游平乐古镇旅游香港历史博物馆旅游大澳旅游李郑屋古墓旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘