快速开发平台--报销软件学习笔记
时 间:2013-09-04 10:13:02
作 者:中长线 ID:6149 城市:三明
摘 要:我的快速开发平台--报销软件学习笔记
正 文:
一、链接后台数据库:
为什么要采用链接后台数据库(Data.mdb)而不直接在主程序(Main.mdb)中建表?原因有两点:一是为了共享数据文件(Data.mdb);二是当软件投入使用后,数据文件中已存在数据,而主程序可能需要完善或增加功能,当要对软件进行升级时,采用链接后台数据库的方式不影响数据,方便维护。
二、查询设计:在Main.mdb中进行,而不是在Data.mdb中。因为Main.mdb已经把表链接过来了。
三、窗体设计:
1、创建自动编号:从sysfrmlogin登录/开发者工具/自动编号管理。
自动编号命名规则:字段名-表名,例:mxID-tblBxmx,ygID-tblYg。(这个自动编号将在自动创建窗体过程中,编缉窗体定义中进行指定)
2、开发者工具/数据模块自动生成器:自动创建“创建列表窗体”“创建主窗体”“创建编辑窗体”。这是本软件的最大进步!因为是自动的,也无需多说,只说一点:数据源可以直接使用链接过来的表,也可以是查询。最后生成的窗体是:frmBxmx、 frmBxmx_Edit、 frmBxmx_List。
3、开发者工具/导航菜单编辑器:
1)、管理和修改主程序左侧的菜单。2)设置默认启动菜单。
4、管理员工具/查阅列表数据维护:某一字段的取值可能固定的几个项目,如“报销类别”字段,把这此固定值设置在这里。修改frmBxmx_edit窗体中报销类别文本框为组合框。在frmBxmx_Edit窗体的Form_load事件中添加代码,为组合框设置数据源:
'---------------------------------------------------
Dim mysql As String
mysql = "select value from sys_lookuplist where item='报销类别' and value <> ''"
Set Me.lbmc.Recordset = openadorecordset(mysql)
'----------------------------------------------------
四、报表设计
1、静态报表:数据来源使用现有表或查询。
2、动态报表:修改frmBxmx窗体中“打印预览”“打印”按钮的单击事件代码,让报表数据与查询后的数据保持一致:
Public Sub btnPrintPreview_Click()
On Error GoTo ErrorHandler
'DoCmd.OpenReport "rptBxmx", acViewPreview, , mclsQuery.WhereSQL
'-------------------------'
g_strWhere = mclsQuery.WhereSQL
DoCmd.OpenForm "frmRptselect"
'------------------------------
Debug.Print mclsQuery.WhereSQL
'Stop
。。。。。。。。。。
End Sub
Public Sub btnPrint_Click()
On Error GoTo ErrorHandler
' DoCmd.OpenReport "rptBxmx", , , mclsQuery.WhereSQL
'-------------------------'
g_strWhere = mclsQuery.WhereSQL
DoCmd.OpenForm "frmRptselect"
'------------------------------
Stop
。。。。。。。。。
End Sub
3、制作报表切换面版:创建二个报表rptBxmx、rptBxmxYg,这个切换面版,供用户选择,用于预览和打印这两个报表。
①切换窗体保存为frmRptselect。修改窗体属性如下:
标题:请选择您所要浏览的报表
滚动条:两者均无
记录选择器:否
导航按钮:否
分隔线:否
自动调整:否
自动居中:是
边框样式:对话框边框
控制框:否
最大最小化按钮:无
②添加“选项组按钮”命名为sRpt,默认值:1。
③添加“单选按钮”命名为
option1:按报销类别统计报表浏览,选项值1。
option2:按员工姓名统计报表浏览,选项值2。
④添加两个“命令按钮”
取消cmdClose:添加代码docmd close
确定cmdOk:添加代码:
Private Sub cmdOk_Click()
' g_strWhere = mclsQuery.WhereSQL
Select Case Me.sRpt
Case 1
DoCmd.OpenReport "rptBxmx", acViewPreview, , g_strWhere
Case 2
DoCmd.OpenReport "rptBxmx_yg", acViewPreview, , g_strWhere
End Select
DoCmd.Close acForm, "frmRptselect"
End Sub
4、创建全局变量:
新建一个模块,命名为Module1,添加代码:public g_strWhere as string
5、修改frmBxmx窗体中btnPrintpreview和btnPrint按钮代码:
'-------------------------'
g_strWhere = mclsQuery.WhereSQL
DoCmd.OpenForm "frmRptselect"
'------------------------------
五、用户权限设计
1、创建角色:管理员工具/用户角色/用户权限,创建两个角色:经理组和操作员组,并分别设定其权限。
2、添加用户:管理员工具/用户管理,添加会计和出纳二个用户,并指定其角色。
3、取消自动登录:我的设置/去掉勾选“启用自动登录”
4、隐藏无权限的菜单:开发者设置/去掉勾选隐藏无权限的菜单。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- Inputbox输入密码打开查...(12.23)
- 【Access Dsum示例】...(12.16)
- Inputbox输入密码打开窗...(12.13)
- 【Access DCount示...(12.02)

学习心得
最新文章
- 用Access查询语句如何得到前3...(02.17)
- Access快速开发平台--导入导...(02.14)
- 按回车键后光标移动到下一条记录的V...(02.12)
- Access快速开发平台--要实现...(02.10)
- Access快速开发平台--让Pe...(02.08)
- 【Access Dsum示例】用D...(02.07)
- Access对子窗体的数据进行平均...(02.05)
- Access快速开发平台附件上传,...(01.18)
- 【IIF函数示例】用iif函数判断...(01.18)
- Access快速开发平台--如何获...(01.17)