admin 管理员组文章数量: 887021
2023年12月22日发(作者:item no怎么填)
.
目录
实验一 软件分析 .............................................................. 3
一、 功能说明 ......................................................... 3
二、 E-R图 ........................................................... 3
三、 逻辑表格 ......................................................... 5
四、 任务 ............................................................. 6
实验二 创建项目及数据库 ...................................................... 6
一、 创建项目 ......................................................... 6
二、 创建数据库 ....................................................... 6
三、 创建表并设定索引 ................................................. 6
四、 建立表之间的关系 ................................................. 8
五、 任务 ............................................................. 9
实验三 数据可视化操作 ........................................................ 9
一、 添加记录 ......................................................... 9
二、 修改记录 ........................................................ 12
三、 删除记录 ........................................................ 12
四、 任务 ............................................................ 12
实验四 使用命令操作数据库 ................................................... 12
一、 数据库及表操作 .................................................. 12
二、 任务 ............................................................ 15
实验五 表单设计 ............................................................. 15
一、 表单分析 ........................................................ 15
二、 使用向导创建表单 ................................................ 16
三、 使用表单设计器修改表单 .......................................... 19
四、 完成其他表单 .................................................... 23
实验六 编写代码 ............................................................. 28
一、 创建系统主程序 .................................................. 28
二、 编写登录表单的代码 .............................................. 29
三、 编写主表单程序代码 .............................................. 30
四、 编写管理员管理代码 .............................................. 34
五、 提示信息添加代码 ................................................ 36
六、 编写管理信息代码 ................................................ 37
七、 今日提醒代码编写 ................................................ 39
八、 编写部门管理代码 ................................................ 41
九、 员工管理代码编写 ................................................ 45
十、 使菜单和工具栏与表单关联 ........................................ 45
十一、 任务 .......................................................... 46
实验七 设计报表 ............................................................. 46
一、 为报表准备数据 .................................................. 46
二、 设计报表 ........................................................ 47
三、 操作注意 ........................................................ 51
四、 运行表单 ........................................................ 51
五、 任务 ............................................................ 51
.
实验八 编译发布 ............................................................. 52
一、 软件的编译 ...................................................... 52
二、 制作安装盘 ...................................................... 52
三、 任务 ............................................................ 56
实验九 分析及优化 ........................................................... 56
.
实验一 软件分析
请从网站下载示例程序,分析软件的功能并列出,并从中抽象出实体,画出软件的E-R图并进行数据库逻辑设计,画出数据库逻辑设计表格。参考如下:
一、 功能说明
1) 系统登录控制:要求填写用户名及密码,并进行了3次连续错误后系统退出功能。
2) 部门编码设置:主要是用来设置部门的层级关系。
3) 部门信息设置:部分的基本信息,如地址、电话等。
4) 员工信息管理:管理企业内部员工的信息,还可以设置生日提醒。
5) 提醒设置功能:可以通过设置信息及接收用户及时间,当被设置的用户登录时显示给用户。
6) 今日提醒功能:根据提醒设置,显示相应信息。
7) 系统设置:修改使用软件的单位信息。
8) 密码修改功能:修改用户的密码。
二、 E-R图
首先是进行实体的抽象,通过系统登录功能及用户密码修改功能,我们可以抽象出“用户”实体,通过部门编码及部门信息管理功能,可以抽象出“部门”实体,通过员工信息管理可得到“员工”实体,通过提醒功能及今日提醒功能可以抽象出“提醒”实体,最后就是系统基本信息,可以得到“系统”实体。
部门信息
1
包含
n
1
员工信息 提醒
n
提醒信息
实体之间关系有E-R图
.
提醒信息
编码 员工编号 提醒类别 提醒内容 提醒日期
提醒实体
用户信息
用户名 密码 姓名
用户信息实体的E-R图
部门信息
编号 上层编号
。。。
单位名称 单位地址
部门信息实体的E-R图
员工信息
编号 姓名
。。。
生日 电话
员工信息实体的E-R图
.
系统信息
企业名称 显示提醒
系统信息实体的E-R图
三、 逻辑表格
通过上面的E-R图,我们已经确立了实体,现在我们要进一步把实体及属性更完善,进行数据库的逻辑设计
提醒信息
字段名
Warnid
emplyid
Wtype
showdate
msg
字段类型
自动编号
整型
整型
日期型
字符型
宽度
4
4
4
8
200
可否为空
否
默认值
0
说明
主索引
普通索引
当为0时代表发给所有用户
不同的数值代表不同类型
显示日期
显示的信息
用户信息
字段名
uname
upwd
truename
字段类型
字符型
字符型
字符型
宽度
20
20
8
可否为空
否
否
默认值
0
说明
主索引,用户名
密码
真实姓名
部门信息
字段名
ID
TopID
DPName
DPAddr
DPPhone
DPPerson
员工信息
字段名
ID
uname
usex
字段类型
自动
字符
字符
宽度
4
8
2
可否为空
默认值
说明
编号,主索引
姓名
性别
字段类型
自动
整型
字符
字符
字符
字符
宽度
4
4
50
100
30
8
可否为空
默认值
说明
主索引,编号
上层编号
单位名称
单位地址
单位电话
单位联系人
.
birthday
DPID
ISMsg
日期
整型
逻辑
8
4
1
生日
所属部门
是否生日提醒
上面的字符可以进行相应的增加或删减,关键在于想实现的功能。
四、 任务
仔细分析软件本身,并可以进行相应改进,完成软件分析任务。
把个人设计的软件也进行上述的过程,完成数据库概念设计及逻辑设计。
实验二 创建项目及数据库
一、 创建项目
1) 在硬盘的相应目录下建立自己的项目文件夹,并在文件夹下建立data和doc两个文件夹分别用来存放数据文件及开发文档。
2) 打开VFP8.0,建立项目文件,命名为EPUser(可任意,为了后面方便表达)。
二、 创建数据库
在项目管理器中新建一个数据库EPData,并保存在Data文件夹中。
三、 创建表并设定索引
1) 在EPData数据库下创建新表warning。表设计器如下:
.
2) 在warnid上建立主索引,在emplyid上建立普通索引。
3) 依照上边的方法建立其他数据表。最终如下:
.
四、 建立表之间的关系
1) 选中Epdata数据库,单击修改打开数据库设计器
2) 把主表的主索引拖至从表的普通索引上建立关系
.
五、 任务
a) 完成企业员工管理软件的项目创建及数据库、数据库表的创建,并建立相应关系。
b) 完成自主设计的软件的数据库、数据库表的创建工作。
实验三 数据可视化操作
一、 添加记录
a) 打开实验二创建的项目,并打开epdata数据库的设计器。
b) 双击Depart和employ表之间的关系线,打开关系设定窗口。
.
c) 选择“referential integrity”选项,并选择插入规则,选择级连项,实现两表之间的“相对完整性”,确定退出窗体。
d) 在项目管理器中选择depart表,并选择“浏览”,打开浏览窗口,在“显示”菜单中选择“追加模式”,在表中添加两条数据,如下图,在这里我们可以看到“聊城大学”这个部门的topid为0而“教育传播技术学院”的topid为“聊城大学”的id,通过这种方式实现部门间的级别管理,这种方式在开发中经常使用。
.
e) 关闭depart表,再打开employ表,使用上述方式添加数据,当我们在Dpid中添加了一个depart表中未出现的ID值时,会出现如下错误,而输入的值为正确的,则会被确认,从这里我们可以看到完整性检查的作用。
f) 建立一个与employ结构相同的表employ1,在表中添加一些数据。
g) 在打开employ表,选择“表”菜单中的追加记录,如下图,点击来源后面的浏览按钮,找到employ1表,并设置选项,选中除自动编号以外的所有字段,确定后,查看employ表中是否添加了employ1中的数据。
.
二、 修改记录
打开一个添加了数据的表格,然后使用“显示”菜单中的“编辑”实现对数据的修改,不再演示,大家也可以设置表之间的关系,看一下更新规则的作用。
三、 删除记录
a) 打开一个有数据的表格,点击记录左侧的小矩形,这样记录便被逻辑删除
b) 进行物理删除,打开“表”菜单,选择彻底删除,便可以实现“物理删除”
四、 任务
在我们建立的表中添加适量数据,以方便后续操作。
实验四 使用命令操作数据库
一、 数据库及表操作
.
1) 创建数据库:Create DataBase stumanage
2) 创建表:Create table classes(cid I AutoInc primarykey,classname c(20))
Create Table student(stuid c(10) primary key,stuname c(10),sex c(2) check
sex=’男’ or sex=’女’ error “此数据只能为男或女” default
‘男’,classid I,foreign key classid tag classid references classes)
3) 修改表结构:
ALTER TABLE classes add teacher c(6)
ALTER TABLE classes alter teacher c(8)
ALTER TABLE classes rename teacher to manager
ALTER TABLE classes drop manager
4) 在当前工作期中打开要使用的表:USE classes或select classes
5) 插入数据:
insert into classes(classname)values(‘2004级1班’)
insert into classes(classname)values(‘2004级2班’)
insert into classes(classname)values(‘2004级3班’)
6) 浏览数据:browse或display或list,会发现使用display时只显示第一条记录,这时需要使用范围语句 display all,大家可以使用条件语句看一下结果。
7) 查看当前记录各信息:
recno() &&显示当前记录号
Bof() &&查看记录指针是否在最前
. Eof() &&查看记录指针是否在最后
skip -1 &&使记录指针向前滚动一条
recno()
Bof()
Eof()
goto top
recno()
Bof()
Eof()
8) 条件定位:
locate for cid=2
recno()
9) 在学生表中插入数据:
INSERT into
student(stuid,stuname,sex,classid)values('20040101','zhang','男',1)
INSERT into student(stuid,stuname,sex,classid)values('20040102','wang','女',2)
10) 修改学生数据:update student set classid=3 where stuid=’20040101’
11) 删除学生记录:
DELETE FROM student where stuid='20040101'
LIST
12) 恢复被逻辑删除的记录:RECALL all
13) 再执行上面的删除命令后使用Pack命令,把记录从磁盘彻底删除。
14) 执行查询:
a) select * from student
b) select stuid,stuname from student
c) 向学生表中多插入几条记录
d) select distinct sex from student
e) select sex as 性别 from student
f) select * from student where stuid=’20040101’
&&使记录指针移到顶端
.
g) select * from student where stuid in(‘20040101’,’20040102’)
h) SELECT * from student where stuname like 'w%'
i) SELECT * from student where stuname like 'w_'
j) SELECT * from student where stuname like '__a%'
k) select count(*) as 学生总数 from student
l) SELECT A.*,ame from student A,classes B where d=
m) SELECT A.*,ame from student A inner join classes B on
d=
n) SELECT A.*,ame from student A right outer join classes B on
d=
o) SELECT * from student order by stuid desc
p) SELECT top 1 * from student order by stuid desc
q) Select count(*) as stucount,classid from student group by classid
r) Select * from student into cursor test
15) 删除表:
drop table student
drop table classes
16) 删除数据库:
CLOSE ALL
DELETE DATABASE stumanage
二、 任务
使用上面的命令在员工管理数据库表的添加一些记录
实验五 表单设计
一、 表单分析
根据实验一中的项目功能分析,我们需要创建以下几个表单。
1) 部分信息管理表单:实现对部分信息的添加、修改、删除等管理
2) 员工信息管理表单:实现对员工信息的添加、修改、删除等管理
3) 管理员管理表单:实现对管理员的添加、删除等管理
4) 当前用户密码修改表单:修改当前用户的密码和真实姓名
.
5) 信息提示表单:当启动软件时显示提示信息
6) 提示信息设置表单:设置提示信息
7) 登录表单
8) 系统设置表单
9) 关于表单
二、 使用向导创建表单
1) 打开员工管理项目,这里需要注意的是,VFP软件有可能对中文目录支持不太好,如果出现类似问题,请把项目放在一个英文目录中。
2) 在项目管理器中选择文档(documents),选择表单,并新建。
3) 选择使用向导,这里有两项,一项是表单向导,另一个是一对多表单向导,可以看出我们也可以使用向导产生基于两个表的表单。
.
4) 选择使用到的表字段,这里实现管理员管理的表单,所以选择Manager表中的所有字段。
5) 选择表单样式,使用默认即可。
.
6) 选择排序字段,这里也可以不选择。
7) 最后一步,设置表单标题并设置保存,在项目文件夹下建立forms文件夹,并把表单保存在内。
.
8) 最终效果如下:
9) 在我们的创建的数据库中,部门表与员工表之间存在一对多关系,使用向导自己建立一个一对多的表单。
三、 使用表单设计器修改表单
使用向导生成的表单有时不能满足我们的需要,这时,我们需要使用表单设计器来完善表单的设计。下面我们来修改一下上面的表单。
1) 选择我们刚才创建的表单,进行修改
.
2) 下面是表单设计器,同时会打开表单控件面板和属性面板
3) 选择表格控件,并在表单中单击,把控件添加到表单中。
.
4) 使用表格生成器来使表格与数据表之间绑定。
5) 选择显示的字段。
6) 设置显示样式
.
7) 修改表格字段显示的标题。
8) 点击OK完成修改,关闭设计器并保存修改,使用项目管理器运行表单查看最终效果。
.
9) 对于由向导生成的控件,可以通过属性面板进行修改,如改变标题显示(caption)。
10) 通过上述方式,多加测试,掌握表单设计的基本方法。
四、 完成其他表单
1) 部门信息管理:这里要用到一个Activex控件,方法是,打开“工具”菜单,选项中选择控件面板,找到如下图的控件:
.
后从控件面板中选择如下:
就可以看到我们选择的组件,拖放到表单中就可以了。
.
2) 员工信息管理
3) 登录表单
.
4) 管理员管理表单
5) 用户密码修改表单
6) 提示信息管理表单
.
7) 提示信息添加表单,这里用了一个时间控件,如TreeView控件一样,自行添加进来即可。
8) 提示信息显示表单
.
实验六 编写代码
本实验分三次完成,主要实现程序的所有代码,了解程序开发过程及代码开发技巧。
一、 创建系统主程序
主程序是所编写程序的入口,主要设置运行环境、定义变量、常量,然后调用其他表单,本程序文件保存为。
CLEAR
CLEAR ALL
*把系统菜单隐藏掉
SET SYSMENU off
*程序运行时不允许使用ESC键退出
SET ESCAPE OFF
*关闭命令显示
SET TALK OFF
*覆盖时不要确认
SET SAFETY OFF
*设置时间格式,使用四位显示年代
SET CENTURY on
SET DATE YMD
*定义一个公共变量,保存当前用户信息
PUBLIC curuser
*调用登录表单
DO FORM formslogin
*进入事务处理,当执行clean events时结束
.
READ events
*当结束循环时执行退出
quit
二、 编写登录表单的代码
打开实验五中已经制作的Login表单,修改控件相应属性。
控件 属性
Name
Rowsource
组合框
Rowsourcetype
Style
Name
文本框
Passwordchar
Autocenter
Borderstyle
Closble
Caption
controlbox
表单
MaxButton
MinButton
Name
Showwindow
Windowtyp
F
F
Frmlogin
作为顶层表单
模式
*
True
2-固定对话框
F
用户登录
F
6-fields
2-dropdown list
Upwd
值
uname
.
选中表单,从属性面板中找到init事件,添加如下代码:
*定义一个公共变量来保存登录次数
PUBLIC logincount
logincount=0
双击登录按钮,打开按钮的click事件:
IF ALLTRIM()=="" then
MESSAGEBOX("没有选择用户名!!")
ELSE
LOCATE FOR uname=ALLTRIM()
IF ALLTRIM()=ALLTRIM(upwd) then
curuser=
e
DO FORM formsmain
return
ELSE
logincount=logincount+1
IF logincount<3 then
=""
us
MESSAGEBOX("您的密码输入错误,请重新输入!!",16,"错误")
ELSE
MESSAGEBOX("对不起,错误次数已达3次,不能进入系统!!",16,"报歉")
e
CLEAR EVENTS
CLOSE ALL
quit
endif
endif
ENDIF
为退出添加click事件:
e
CLEAR EVENTS
quit
三、 编写主表单程序代码
主表单主要是起到调用其他表单的作用,在这里我们添加一个菜单和一个工具栏,从而了解如何创建表单与工具栏,以及如何在程序中使用它们。
.
创建主表单,保存为main,设置属性如下:
控件 属性
Autocenter
Caption
Height
Width
表单
MDIform
Name
Showwindow
Windowtyp
T
Frmmain
作为顶层表单
模式
值
True
企业员工管理系统
600
600
创建菜单,在项目管理器中选择“其他”选项卡,选中菜单,新建:
选择Menu,先制作如图的菜单
然后选择菜单“显示->常规选项”
.
选中“顶层表单”,设计表单时要注意的问题是,需要生成,而且每一次改动后都需要生成,否则使用的菜单是未生成前的菜单。
“菜单->生成菜单”:
好了,下面我们把菜单加入到主表单中去。
打开主表单,添加“init”事件:
DO WITH this
*这里的菜单地址,请根据自己的保存位置确定。这里保存到menu文件件下了。
可以运行主表单看一下效果了。
下面制作工具栏,选择“类”选项卡,新建类:
.
从ToolBar类继承制作自己的工具栏,添加按钮,图片资源可以从FTP得到。
设置Showwindow属性值为“在顶层表单中”。
因为工具栏是与表单一级的对象,所以表单中不能容纳工具栏,所以需要建立一个表单集来放置表单与工具栏,打开主表单,使用“表单”菜单中的“新建表单集”建立表单集对象,这时我们使用代码的方式把工具栏加入到主表单中去,设置表单集的init事件。
PUBLIC isCreateToolbar
isCreateToolbar=0
再在Activate事件中添加如下代码:
IF isCreateToolbar=0
isCreateToolbar=1
*加载类
SET CLASSLIB TO libmyclass
*使用类创建对象
ect("tool1","mytoolbar")
*把工具栏停放在表单的上部
(0)
endif
这时运行主表单,效果如下:
.
四、 编写管理员管理代码
控件 属性
Name
表格 Enabled
Recordsource
表单 BufferMode
值
gmanager
False
Manager
1
.
Caption
Name
Showwindow
打开表单的数据环境,选择manager表。设置其属性。
操作员管理
frmmanager
在顶层表单中
buffermodeOveride:2,Exlusive:True
添加按钮的click事件:
d= .T.
APPEND BLANK
GO bottom
us
h
修改按钮的click事件:
d=.t.
保存按钮的click事件:
YN=MESSAGEBOX("确定保存",4+32,"企业员工管理系统")
IF YN=6 then
IF TABLEUPDATE(.f.)=.f. then
MESSAGEBOX("保存出错")
ELSE
h
ENDIF
ENDIF
d=.f.
取消按钮的click事件:
.
IF MESSAGEBOX("确认取消",4+32," 企业员工管理系统")==6 then
TABLEREVERT(.f.)
ENDIF
d=.f.
h
删除按钮的click事件:
IF MESSAGEBOX("确定删除",32+4," 企业员工管理系统")==6 then
SELECT manager
DELETE
Source=null
PACK
Source="manager"
IF EOF()
SKIP -1
ELSE
IF BOF()
SKIP
ENDIF
ENDIF
h
endif
五、 提示信息添加代码
控件
Date and timer picker
文本域
属性
Name
name
值
msgdate
msgcontent
.
保存按钮click事件:
SET DATE YMD
SET CENTURY on
mdate=TTOD(e._value)
mcontent=ALLTRIM()
IF EMPTY(mdate) .and. EMPTY(mcontent) then
MESSAGEBOX("时间和内容都不能为空")
return
ENDIF
IF MESSAGEBOX("确定保存",4+32,"企业员工管理系统")=6
INSERT INTO
warning(emplyid,wtype,showdate,msg)values(0,0,mdate,mcontent)
MESSAGEBOX("提示信息已经添加到数据库中",64,"企业员工管理系统")
e
endif
取消按钮click事件:
e
六、 编写管理信息代码
此窗体的代码与管理员管理代码类似,所以可以很容易实现。
控件
表格
属性
Name
值
gmsg
.
Enabled
Recordsource
MousePointer
表单 BufferMode
Caption
Name
Showwindow
打开表单的数据环境,选择waring表。设置其属性。
False
Manager
1-Arrow
1
操作员管理
Frmmsg
在顶层表单中
buffermodeOveride:2,Exlusive:True
添加按钮onclick事件:
DO FORM forms/setmsg
h
修改按钮的onclick事件:
IF MESSAGEBOX("确定保存修改信息",4+32,"企业员工管理系统")=6 then
IF TABLEUPDATE(.f.)=.f. then
MESSAGEBOX("保存出错,请检查")
ELSE
h
ENDif
ENDIF
d=.f.
取消按钮的onclick事件:
.
IF MESSAGEBOX("确认取消",4+32," 企业员工管理系统")==6 then
TABLEREVERT(.f.)
ENDIF
d=.f.
h
删除按钮的click事件:
IF MESSAGEBOX("确定删除",32+4," 企业员工管理系统")==6 then
SELECT waring
DELETE
Source=null
PACK
Source="waring"
IF EOF()
SKIP -1
ELSE
IF BOF()
SKIP
ENDIF
ENDIF
h
endif
七、 今日提醒代码编写
控件
文本框
readonly true
属性
Name
值
msg
.
多选框
表单
Name
BufferMode
Caption
Name
Showwindow
Windowtype
isstart
1
今日提醒
Frmtoday
在顶层表单中
1-模式
lmsg 标签
表单init事件:
Name
PUBLIC i,inum
i=0
inum=0
SELECT warning
COUNT FOR showdate=DATE() to inum
IF inum<1 then
="没有本日提醒"
n="没有提醒"
ELSE
SELECT warning
SET FILTER TO showdate=DATE()
go top
i=1
lSource=""
n="共有"+ALLTRIM(STR(inum))+"条提醒,第"+ALLTRIM(STR(i))+"条提醒"
h
endif
下一条按钮单击事件:
SELECT warning
IF .not. EOF()
SKIP
i=i+1
n="共有"+ALLTRIM(STR(inum))+"条提醒,第"+ALLTRIM(STR(i))+"条提醒"
ENDIF
.
h
确定按钮onclick事件:
IF =1
UPDATE sys SET isstart=.f.
ENDIF
e
八、 编写部门管理代码
部门管理表单使用了一个ActiveX控件,如果想非常细致的了解此控件的使用方法,请参考FTP上给出的资料。
控件
树型
Style
Name
名称文本框
controlSource
Name
地址文本框
controlSource
Name
电话文本框
controlSource
属性
Name
值
departTree
7
Ename
dpname
Eaddr
dpaddr
Ephone
dpphone
.
Name
联系人文本框
controlSource
表单 BufferMode
Caption
Name
Showwindow
Windowtype
Eperson
Dpperson
1
部门信息管理
Frmdepart
在顶层表单中
1-模式
同样要设置表单对应的depart表格的属性:buffermodeOveride:2,Exlusive:True
首先我们给表单添加init事件:
PUBLIC isedit
PUBLIC dpid
SELECT depart
GO top
=dpname
=dpaddr
=dpphone
=dpperson
d=.f.
d=.f.
d=.f.
d=.f.
h
给树形控件添加init事件
SCAN
IF topid == 0
定义一个变量来标识当前操作是添加还是修改
保存当前部门编码
.
Node = (,1,"D"+ALLTRIM(STR(id)),ALLTRIM(dpname),,)
*加入根节点
ELSE
Node
=("D"+ALLTRIM(STR(topid)),4,"D"+ALLTRIM(STR(id)),ALLTRIM(dpname),,)
ENDIF
ENDSCAN
树形控件的onclick事件:
SELECT depart
LOCATE FOR id=VAL(SUBSTR(,2))
dpid=id
=dpname
=dpaddr
=dpphone
=dpperson
添加按钮onclick事件:
=""
=""
=""
=""
d=.t.
d=.t.
d=.t.
d=.t.
isedit="add"
h
.
删除按钮onclick事件:
IF MESSAGEBOX("确认要删除所选部门信息",4+32,"企业员工管理系统")==6 then
DELETE FROM depart WHERE id=dpid
PACK
h
ENDif
修改按钮onclick事件:
d=.t.
d=.t.
d=.t.
d=.t.
isedit="mod"
取消按钮onclick事件:
=dpname
=dpaddr
=dpphone
=dpperson
d=.f.
d=.f.
d=.f.
d=.f.
保存按钮onclick事件:
IF MESSAGEBOX("确认要保存修改后的信息吗?",4+32,"企业员工管理系统")==6 then
IF isedit="mod" then
ename=ALLTRIM()
eaddr=ALLTRIM()
.
ephone=ALLTRIM()
eperson=ALLTRIM()
UPDATE depart SET
dpname=ename,dpaddr=eaddr,dpphone=ephone,dpperson=eperson WHERE id=dpid
ENDIF
IF isedit="add" then
INSERT INTO
depart(topid,dpname,dpaddr,dpphone,dpperson)values(dpid,,,,)
endif
ENDIF
d=.f.
d=.f.
d=.f.
d=.f.
h
九、 员工管理代码编写
员工管理代码请参考部门管理代码和管理员管理代码来完成。
十、 使菜单和工具栏与表单关联
到这里,把目前编写的表单和主表单统一起来,使菜单项及工具栏按钮可以响应事件,打开菜单,修改相应项,如
.
提示信息管理下有子项,所以设置为Submenu,单击Edit进行修改如下
使用do form 表单名称(注意表单路径),来调用表单,其他相应修改。
打开工具栏,为工具栏上的按钮添加代码,如do form forms/depart来完成工具栏的代码添加。
十一、 任务
把实验指导书中未给出的代码补齐,完成整个程序的代码编写。
实验七 设计报表
一、 为报表准备数据
新建一个本地视图,如下图所示,把Depart表和Employ表加入到视图中来,并设置显示的字段。
.
二、 设计报表
1) 新建报表
2) 打开报表设计器
3) 在报表菜单中打开标题总结对话框
.
4) 选择相应选项,这里Newpage选项是为了让标题区和总结区在单独页中显示
5) 在标题带区中添加以下标签控件,并输入文字
.
6) 在page header带区中添加以下控件,标签控件中显示“聊城大学教育传播技术学院----企业员工管理系统”,在后面添加一个域控件,显示Date(),下边添加几个矩形框,并改变其背景色,并使用标签控件在其上添加相应文字。
7) 为报表添加数据环境,与表单添加数据环境相同。需要注意的是需要选择视图选项来显示视图对象。
版权声明:本文标题:数据库设计完整流程图 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703241971h443712.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论