Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 1页第 7章 数据库应用
学生信息管理系统
数据库基础
VB对数据库的访问
使用 SQL语句生成记录集
数据库记录的操作
ADO编程模型简介
知识延伸 ——数据报表
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 2页知识回顾
Windows API函数的引用
必须先声明再使用提问:怎样声明 API函数?
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 3页本章目标
掌握通过 ADODC控件管理数据库
掌握通过 ADODB对象管理数据库
熟悉数据库操作的 SQL语句
熟悉数据报表的制作
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 4页引例七示例:实现学生信息管理系统。 ( 单击查看代码 )
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 5页数据库基础
数据库就是一组排列成易于处理和读取的相关信息的集合。
关系模型已经成为数据库设计事实上的标准。
数据库 表
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 6页关系型数据库学号 姓名 性别 出生日期 专业 班级
01010001001 张彤均 男 1987-06-15 计算机应用 05级 1班
01010001002 赵 琳 女 1988-01-25 计算机应用 05级 1班
01010002001 李兆成 男 1986-12-01 计算机网络 05级 2班
…… …… …… …… …… ……
表由若干行和若干列组成的二维表格。
一个关系型数据库由多个这样的二维表格相关联而成。
行 /记录列 /字段列标题 /
字段名主键
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 7页创建 Access数据库
两种创建方式
– Microsoft Office Access
– VB内置的“可视化数据管理器”
( VisData)
版本较早,功能较弱
相应的 Access数据库只能到 7.0版本
不能识别现在的 Access2000或 Access2003版本
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 8页在 VB环境中创建数据库
启动数据管理器
– VB环境选择“外接程序,—“可视化数据管理器,
建立数据库
– 文件 —新建 —Microsoft Access — Version 7.0
MDB(7)…
– 在弹出对话框中输入文件名,单击保存后,建立一个不包含数据表的空数据库
建立数据表
– 右键单击“数据库窗口”空白处,选择“新建表”
– 通过“添加字段”,创建该表的字段信息
添加索引
– 为了提高访问速度,可以在添加索引
输入记录
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 9页
Office Access创建数据库
建立数据库
–,新建数据库” —“空 Access数据库”
建立数据表
– 数据库窗口中双击“使用设计器创建表,
– 在表设计器中输入字段名称、数据类型、字段大小及其他属性
– 关闭表设计器时,给表起名称
输入记录
建立表与表之间的关系
– 单击工具栏中的“关系”按钮
– 在“关系”窗口设置相应表的关系
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 10页
VB对数据库的访问
ADO
– 是一种基于对象的数据访问接口
– ADO访问数据库有两种主要形式
ADO数据控件( ADODC)
优点:代码少缺点:功能简单,不够灵活
ADO对象编程模型( ADO代码)
优点:灵活性高,可编制复杂代码缺点:代码编写量大,
– 开发步骤
与数据库建立连接,打开数据库
从数据库中读取数据并在适当的控件中显示
对所获得的数据进行浏览以及增、删、改等操作,并将修改后的数据存入数据库
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 11页
ADO数据控件
ADO数据控件( ADODC)
– 是 ActiveX控件
– 位于 Microsoft ADO Data Control 6.0
工具箱内
ADODC
图标形状画在窗体上的 ADODC图标外观
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 12页
连接数据库及指定记录源
– 右键单击 ADODC控件,在弹出菜单中选择“属性”,
连接数据库
– 通过设置“连接字符串”( ConnectionString属性 )可以连接数据库
– 指定记录源三种连接方式
Access数据库( V7.0以下),
Microsoft Jet 3.51 OLE DB Provider
Access数据库( V7.0以上),
Microsoft Jet 4.0 OLE DB Provider
SQL Server数据库,
Microsoft OLE DB Provider for SQL Server
命令类型
( CommandType)
记录来源
( RecordSource)
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 13页记录源的指定
命令类型,CommandType属性
– 设置 ADODC控件是执行什么样的命令获得所需要的数据
– 四种取值
1 — adCmdText:执行的命令是一句 SQL语句
2 — adCmdTable:执行的命令是一个表的名称
4 — adCmdStoredProc:执行的命令是一个存储过程的名称
8 — adCmdUnknown:默认值,表示为设定执行命令的类型
记录源,RecordSource属性
– 设置 ADODC具体的执行命令
– 需根据 CommandType属性的赋值,决定 RecordSource属性具体的赋值内容
– 例如
ADODC1.CommandType = adCmdText
ADODC1.RecordSource =,select * from 学籍 "
ADODC1.CommandType = adCmdTable
ADODC1.RecordSource =,学籍 "
如果 RecordSource属性的赋值与 CommandType所给类型不一致,在运行程序时,可能会提示,from子句语法错误,
如果用代码重新设置了记录源,必须使用
ADODC1.Refresh
刷新对数据库的访问
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 14页数据绑定控件
数据控件只能连接数据库产生记录集,不能显示记录集中的数据,要显示记录集中的数据必须通过能与它绑定的控件来实现。
数据库 记录集绑定控件姓名:赵琳性别:女
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 15页
在绑定控件中显示数据
– DataSource属性
数据源属性
指定(绑定到) ADO数据控件
– DataField属性
数据字段属性
绑定到特定字段
当移动记录指针后,会自动将修改后的内容写入到数据库
– 用代码设置绑定控件
Set Text1.DataSource = ADODC1
Text1.DataField = "姓名 "
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 16页练习例题示例:通过 ADODC实现如图所示功能。
要求:
用 ADODC连接数据库 Student.mdb
用 DataGrid控件显示,学籍,表中的所有记录
通过 ADODC控件控制记录的移动
( 查看代码 )
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 17页
不用绑定方法实现显示数据
– 是指不对数据显示控件的 DataSource和
DataField属性进行设置
– 是通过代码将当前记录某个字段的值显示在控件
(如文本框)中
– 显示字段内容控件属性 = 记录集(“字段”)
例如:
Text1.Text = ADODC1.Recordset(“姓名,)
– 给字段重新赋值记录集(“字段”) = 控件属性例如:
ADODC1.Recordset(“姓名,) = Text1.Text
获取某个字段值得形式:
记录集(,字段名,)
记录集 !字段名
记录集,Fields(索引)
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 18页示例:通过代码和 ADODC实现改变数据源功能。
要求:
用 ADODC连接数据库 Student.mdb;
登录时用 DataGrid控件显示,学籍,表中的所有记录,同时 Text1文本框绑定显示,姓名,字段的信息,Text2文本框代码显示,姓名,字段的信息
单击,班级,按钮,数据源改为,班级,表
单击,课程,按钮,数据源改为,课程,表
单击,系部,按钮,数据源改为,系部,表
单击,连接 SQL数据源,,数据源改为 SQL
Server中一个数据库的表格
( 查看代码 )
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 19页使用数据窗体向导
通过数据窗体向导能建立一个访问数据的窗口。
两种方法:
方法一:
– 执行“外接程序 — 外接程序管理器”打开“外接程序管理器”,选择,VB 6 数据窗体向导”
加载到“外接程序”菜单中。
– 执行“外接程序 — VB 6 数据窗体向导”命令
方法二:
– 工程 — 添加窗体 —“新建”选项卡 — VB数据窗体向导
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 20页
第一步:选择“数据窗体向导”命令
第二步:选择数据库类型
第三步:选择具体的数据库文件
第四步:设置应用窗体的工作特性
第五步:选择记录源
第六步:选择所需要的操作按钮数据库数据窗体向导具体步骤
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 21页使用 SQL生成记录集
记录集 Recordset
– 定义:将数据库中一个或多个表中的部分或全部数据构成一个“记录的集合”
– 记录集由行(记录)和列(字段)构成
– 记录集对象具有特定的属性、方法和事件
– ADO数据控件的 Recordset属性代表属于本控件的记录集对象
– 生成记录集最常用的方法是利用 SQL语句
SQL
– Structure Query Language,结构化查询语言
– 设置记录集时使用 SELECT语句
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 22页结构化查询语言常用 SQL 命令 描 述
C R E A T 创建新的表、字段和索引
D E L E T E 从数据库表中删除记录。
S E L E C T 在数据库中查找满足特定条件的记录。
U P D A T E 改变特定记录和字段的值。
常用 SQL 命令子句 描 述
F R O M 用来为从其中选定记录的表命名。
W H E R E 用来指定所选记录必须满足的条件。
G R O U P B Y 用来把选定的记录分成特定的组。
H A V I N G 用来说明每个组需要满足的条件。
O R D E R B Y 用来按特定的次序将记录排序。
合计函数 描 述
A V G 用来获得特定字段中的值的平均数
C O U N T 用来返回选定记录的个数
S U M 用来返回特定字段中所有值的总和
M A X 用来返回指定字段中的最大值
M I N 用来返回指定字段中的最小值
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 23页使用 SELECT语句查询
基本语法
– Select 字段表 From 表名 [Where 查询条件 ] [Group
By 分组字段 [HAVING 分组条件 ] ] [Order By 字段
[Asc|Desc]]
可以在设计或代码中对数据控件的
RecordSource属性设置 SQL语句,也可将 SQL
语句赋予对象变量
在建立 SQL语句时,如果需要通过变量构造条件,
则需要在应用程序中将变量连接到 SELECT语句。
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 24页练习例题示例:最简单的 SELECT语句。
SELECT * FROM 学籍备注:获得,学籍,表中的所有记录信息示例:选择,学籍,表中的,学号,和,姓名,字段,
,成绩,表中的,课号,和,分数,字段构成记录集。
SELECT 学籍,学号,姓名,课号,分数 FROM 学籍,成绩 WHERE 学籍,学号 = 成绩,学号备注:注意字段列表中的,学号,的书写限定记录集筛选条件示例:选择,学籍,表中所有男生构成的记录集 。
SELECT * FROM 学籍 WHERE 性别 =“男,
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 25页示例:选择,学籍,表中,张彤均,的学号和姓名,根据其学号取,成绩,表中该学生的各科成绩构成记录集 。
SELECT 学籍,学号,姓名,课号,分数 FROM 学籍,成绩
WHERE 学籍,学号 = 成绩,学号 AND 姓名 =“张彤均,
示例:查询所有姓,张,的学生
SELECT * FROM 学籍 WHERE 姓名 LIKE,张 %”
模糊查询(使用 LIKE关键字)
示例:按学号升序排列学籍记录集
SELECT * FROM 学籍 ORDER BY 学号 ASC
记录集排序(使用 ORDER BY子句)
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 26页示例:以,班级,作为分组字段,查询各班女生人数
SELECT 班号,Count(*) AS 女生人数 FROM 学籍
GROUP BY 班号 HAVING 性别 =“女,
备注,As关键字表示给该字段起别名
Count(*):表示统计记录总数记录分组(使用 Group BY子句)
示例:从,学籍,表中查询班号,不能重复用 DISTINCT关键字:
SELECT DISTINCT 班号 FROM 学籍 WHERE 班号 <>NULL AND 班号 <>””
用 Group By子句:
SELECT 班号 FROM 学籍 GROUP BY 班号 HAVING 班号 <>NULL AND
班号 <>””
过滤重复记录
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 27页示例:在,学籍,表中通过学号(字符串类型)查询某个学生的所有学籍信息,该学号有用户在文本框中输入(文本框名为,Text1)
ADODC1.RecordSource =,SELECT * FROM 学籍
WHERE 学号 =?” & Text1.Text &,?”
含有变量的 SQL语句
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 28页数据集的操作
数据库记录的操作是针对记录集对象的操作
如何移动记录指针
– 使用 ADO数据控件
– 使用程序代码
步骤一:在窗体上放置 4个按钮,分别为“首记录”、“上一记录”、“下一记录”和“末记录”
步骤二:单击按钮时,分别用如下代码移动记录集对象指针
Adodc1.Recordset.MoveFirst —首记录
Adodc1.Recordset.MovePrevious —上一记录
Adodc1.Recordset.MoveNext —下一记录
Adodc1.Recordset.MoveLast —末记录
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 29页记录集指针学号 姓名 专业 课程 成绩
990001 万林 物理 数学 85
990002 庄前 物理 外语 90
。。。 。。。 。。。 。。。 。。。
990010 黎明 建筑 建筑学 90
MoveLast
MoveFirst
MoveNext
MovePrevious
BOF
EOF
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 30页
BOF和 EOF
BOF:位于第一条记录之前(记录集头)
EOF:位于最后一条记录之后(记录集尾)
当记录指针移到 BOF时若再向前( MovePrevious)
移动,或移到 EOF时再向后( MoveNext)移动,都会引发错误。
处理错误的方式:
– BOF错误处理
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then
Adodc1.Recordset.MoveFirst
– EOF错误处理
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 31页记录集的增删改查操作
查找
– 记录集的 Find方法
格式记录集,Find 条件 [,跳行,搜索方向,开始位置 ]
参数说明条件:字符串,类似 SQL中的 WHERE子句跳行:默认为 0;当取 1的时候,可连续执行 Find方法
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find,姓名 =?张彤均’”
If Adodc1.Recordset.EOF = True Then
MsgBox,未找到姓名为‘张彤均’的记录!”
End If
End If
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 32页用循环方式查找
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF
If Adodc1.Recordset(“姓名” ) =,张彤均” Then
Exit Do?找到,退出循环
End If
Adodc1.Recordset.MoveNext
Loop
If Adodc1.Recordset.EOF = True Then?若指针指向记录集尾,
说明未找到
……
Else?否则,说明找到符合条件的记录
……
End If
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 33页用 SQL语句查找
Dim strSQL As String
StrSQL =,SELECT * FROM 用户 WHERE 用户名 =?” &
txtUserID.Text &,?”
Adodc1.RecordSource = strSQL
Adodc1.Refresh
If Adodc1.Recordset.BOF = True And Adodc1.Recordset.EOF
= True Then
MsgBox,无此用户!”
End If
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 34页添加记录
三步骤
– 调用记录集的 AddNew方法记录集,AddNew
– 给新添加的空记录相应字段赋值
– 调用记录集的 Update方法更新数据库
例如:
Adodc1.Recordset.AddNew
Adodc1.Recordset(“学号” ) =,01010001001”
Adodc1.Recordset(“姓名” ) =,张彤均”
Adodc1.Recordset(“性别” ) =,男”
Adodc1.Recordset(“出生日期” ) =,1987-6-15”
Adodc1.Recordset(“班号” ) =,01010001”
Adodc1.Recordset.Update
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 35页练习例题
把运行时输入的数据添加入数据库
Adodc1.Recordset.AddNew
Adodc1.Recordset(“学号” ) = Trim(txtNo.Text)
Adodc1.Recordset(“姓名” ) = Trim(txtName.Text)
Adodc1.Recordset(“性别” ) = Trim(txtXB.Text)
Adodc1.Recordset(“出生日期” ) = DTPicker1.Value
Adodc1.Recordset(“班号” ) = Left(Trim(txtNo.Text),8)
Adodc1.Recordset.Update
如果在未调用记录集的 Update方法之前移动了记录指针,系统将自动调用 Update方法;
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 36页修改记录
两步骤
– 给要修改记录的相应字段重新赋值
– 调用记录集的 Update方法更新数据库
例如
Adodc1.Recordset(“学号” ) =,01010001001”
Adodc1.Recordset!姓名 =,张彤均”
Adodc1.Recordset.Update
或者
Adodc1.Recordset.Fields( 0) =,01010001001”
Adodc1.Recordset.Fields( 1) =,张彤均”
Adodc1.Recordset.Update
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 37页删除记录
只需一步
– 调用记录集的 Delete方法记录集,Delete
例如
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF And Adodc1.Recordset.RecordCount
> 0 Then
Adodc1.Recordset.MoveLast
End If
注意:此时不需要 Update方法,直接就执行数据库的删除。因此,在执行删除操作的时候,最好是使用 MsgBox
函数要求用户再次确认是否删除。
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 38页练习例题示例:在改变数据源的例题中增加以下功能。
要求:
隐藏 ADO数据控件,用 4个按钮实现记录指针的移动,并避免移动错误产生。
增加,查找,,,添加,,,修改,,,删除,学籍信息的功能。
单击,查找,时,查找姓名为,赵琳,的学生。
单击,添加,,,修改,时,从另一个窗口进行相关的添加、修改操作。
单击,删除,时,要求用户再次确认。
( 查看代码 )
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 39页
ADO编程模型
位于工程 —引用 —Microsoft ActiveX Data Object 2.x Library
ADO的核心
– Connection对象
– Command对象
– Recordset对象
ADO对象的声明
– 格式,Dim 变量名 As New ADODB.对象
– 或者 Dim 变量名 As ADODB.对象
Set 变量名 = New ADODB.对象
– 必须先声明再使用
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 40页
Connection对象
– 用于建立与数据源的连接
– 声明变量,Dim con As New ADODB.Connection
– 一个 Connection对象可以为多个 Recordset和 Command
对象提供数据库连接服务
– 因此,可在标准模块中声明一个全局的 Connection对象变量使用
Recordset对象
– 表示记录集,用于记录指针的移动和记录的查找、添加、修改或删除
– 声明变量,Dim rs As New ADODB.Recordset
Command对象
– 用于对数据源执行指定的命令
– 变量声明,Dim cmm As New ADODB.Command
这三个对象功能有交叉,因此可不必用 Command
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 41页使用 ADO编程模型的一般步骤
第一步:声明 ADO对象变量
第二步:与数据库建立连接
Dim cnn As ADODB.Connection?声明连接对象
Dim rs As ADODB.Recordset?声明记录集对象
Dim MyPath As String?用于存放路径
MyPath = App.Path?设为本工程所在路径
‘ 若非根目录,路径后面加,\”
If Right(MyPath,1) <>,\” Then MyPath = MyPath &,\”
建立与数据库的连接。
cnn.Provider =,Microsoft Jet OLEDB 4.0”?指定提供者
‘ 设置数据源(指定数据库)
cnn.ConnectionString =,Data Source =,& MyPath &,Student.mdb”
cnn.Open?与数据库建立连接
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 42页
第三步:设置记录集相关属性
– 记录集的这些属性必须在记录集关闭时设置
第四步:打开记录集
锁定类型:开放式记录锁定
rs.LockType = adLockOptimistic
游标类型:键集游标,允许在记录集中进行所有类型的移动
rs.CursorType = adOpenKeyset
设置记录集使用的连接对象为打开的 Connection对象
Set rs.ActiveConnection = cnn
设置记录集的记录源
rs.Source =,SELECT * FROM 学籍,
若记录集处于关闭状态则将其打开
If rs.State = adStateClosed Then rs.Open
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 43页
第五步:对记录集进行操作
– 包括增、删、改、查以及记录指针的移动
第六步,ADO对象的关闭
If rs.state = adStateOpen Then rs.Close
If cnn.state = adStateOpen Then cnn.Close
此时并没有村内存中删除
‘要想从内存删除,要执行
Set rs = Nothing
Set cnn = Nothing
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 44页记录集的 Open方法
语法
– 记录集,Open [记录源,活动连接,游标类型,锁定类型,命令类型 ]
参数说明
– 记录源:对应记录集的 Source属性
– 活动连接:对应记录集的 ActiveConnection属性
– 游标类型:对应记录集的 CursorType属性
– 锁定类型:对应记录集的 LockType属性
– 命令类型:相当 ADODC的 CommandType属性
例如
rs.Open,SELECT * FROM 学籍”,cnn,adOpenKeyset,
adLockOptimistic,adCmdText
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 45页练习例题示例:用 ADO对象模型的方法实现原例题要求。
要求:
隐藏 ADO数据控件,用 4个按钮实现记录指针的移动,并避免移动错误产生。
增加,查找,,,添加,,,修改,,,删除,
籍信息的功能。
单击,查找,时,查找姓名为,赵琳,的学生。
单击,添加,,,修改,时,从另一个窗口进行相关的添加、修改操作。
单击,删除,时,要求用户再次确认。
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 46页知识延伸
数据报表
– 数据报表设计器( Data Report Designer )属于
ActiveX Designer组中的一个成员,在使用前需要执行“工程 — 添加 Data Report”命令,将报表设计器加入到当前工程中,产生一个 DataReport1对象,并在工具箱内产生一个“数据报表”标签。
– 创建数据报表时通常需要借助数据环境设计器( Data
Environment)为报表提供数据源。 在使用前也需要执行“工程 — 添加 Data Environment”命令,将数据环境设计器加入到当前工程中,产生一个 Data
Environment1对象。
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 47页数据报表设计器标签文本图形线条形状函数
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 48页
,标签,控件在报表上放置静态文本
,文本,控件在报表上连接并显示字段的数据
,图形,控件可在报表上添加图片
,线条,控件在报表上绘制直线
,形状,控件在报表上绘制各种各样的图形外形
,函数,控件在报表上建立公式 。
报表标头区包含整个报表最开头的信息,一个报表只有一个报表头,可使用,标签,控件建立报表名
报表注脚区包含整个报表尾部的信息,一个报表也只有一个注脚区
页标头区设置报表每一页顶部的标题信息;页注脚区包含每一页底部的信息;细节区包含报表的具体数据,细节区的高度将决定报表的行高。
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 49页数据报表的创建步骤
第一步:添加 Data Environment
第二步:通过右键单击数据环境设计器中的
,Connection1”,选择“属性”设置数据库的连接
第三步:再次右键单击数据环境设计器中的
,Connection1”,选择“添加命令”菜单项,设置获得数据集的命令
第四步:添加 Data Report
第五步:设置 Data Report属性
– Data Source:为刚建立的数据环境,如:
DataEvironment1
– Data Member:为选择数据环境中的某一命令如,Command1
第六步:将指定命令下的字段拖放到数据报表,并设置格式
第七步:可利用“数据报表”工具箱中的控件设置格式
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 50页练习例题示例:练习数据报表的制作。 ( 查看代码 )
Visual Basic 可视化程序设计首页 上页 目录 前页 后页 末页
2009-7-28 第 51页本章总结
ADODC控件维护数据库
ADODB对象维护数据库
SQL语句
记录集的维护
数据报表的制作