将数据表窗体修改为连续窗体

本文内容

将数据表窗体修改为连续窗体

级别:初级
重要:
要求:了解并掌握
来源:Access 软件网

本课程主要讲解了如何将一个数据表窗体,修改为一个连续窗体。之所以要修改为连续窗体,是为了方便统计(例如数量、金额的合计)。

显示窗体页眉和页脚

1.单击此下载练习用的示例Continuousform.rar(文件大小:21K)

2.运行Continuousform.mdb,如下图所示:

3.进入窗体“frm采购订单_Edit_Detail”的设计视图,如下图所示:

4.单击上图中的 主体 二字,再按鼠标右键,显示画面如下图所示:

5.选中上图中的“窗体页眉/页脚(H)”,则显示窗体的页眉与页脚,如下图所示:

返回页首

重新对控件布局并在页脚处添加数量合计

1.将各个控件的标签放置到窗体页眉,这里需要注意,并不能直接单独移动标签,所以要么在页眉处一个一个创建标签,要么就剪切标签再贴粘到窗体页眉,然后将各个控件对齐并调整,如下图所示:

2.在窗体页脚,添加一个文本框,命名为"txt小计",并在该文本框的控件来源中输入:=sum([完成数量]),如下图所示:

返回页首

调整窗体默认视图

1.进入窗体的属性,通过双击窗体左上角的小方块,可以打开窗体的属性界面,如将默认视图设置为:连续窗体,如下图所示:

2.保存窗体,关闭设计视图。

3.运行“frm采购订单_Edit_Detail”窗体,修改完成数量的值,就可以看到页脚处的小计在实时变化,如下图所示:

提示:如果练习时发现行间距过大,需要在窗体中调节一下各控件的位置。



步骤2:添加记录号与行记录删除按钮

在“frm采购订单_Edit_Detail”窗体的设计界面,将相关的文本框和标签往右移动一定距离,在左边添加1个文本框"行号"和1个命令按钮"btnDelete",如下图所示:

为了让行号能自动显示序号,这样显得界面比较友好,给“行号”文本框的控件来源中输入:=GetLineNumber([Form])

为了方便操作员删除数据,给“btnDelete”删除按钮的单击事件中写代码:

 Private Sub btnDelete_Click()
     On Error Resume Next
     If Not Me.NewRecord Then
         DoCmd.SetWarnings False '屏弊系统的警告
         RunCommand acCmdDeleteRecord '删除当前记录
         DoCmd.SetWarnings True  '取消屏弊系统的警告
     End If
 End Sub

相关阅读点此了解快速开发平台的GetLineNumber 函数

返回页首

步骤3:在临时表添加2个字段,修改1个字段并在窗体中添加相关控件

当前子窗体只有商品ID,给用户看时,商品ID本身并看不出什么内容,为了方便用户在录入采购订单明细时可以看到商品的”品名规格“、”单位“,在临时表“TMP_采购订单明细表”中添加这两个字段:

品名规格(文本类型,字段长度:255)

单位(文本类型,字段长度:10)

表中原“完成数量”字段,是指采购数量实际完成了多少,也即入库了多少,为了方便显示未入库数量,我们将“完成数量”字段改为“已入库数量”,这样,TMP_采购订单明细表的字段如下图所示:

同理,窗体中也应作相应的修改:

1.将商品ID的标签改为商品编码(该组合框不用修改,可通过设置属性来显示为商品编码)

2.添加“品名规格”、“单位”

3.添加“金额”,金额的控件来源:=[单价]*[数量]

4.修改“完成数量”为“已入库数量”

5.添加“未入库数量”,未入库数量的控件来源:=[数量]-[已入库数量]

修改后的画面如下图所示:

返回页首

步骤4:在子窗体页脚添加合计项

为了方便看到同一采购订单的数量合计和金额合计,因此,在页脚添加合计项,。

1.添加文本框,命名为“数量合计”,控件来源:=Nz(Sum([数量]),0)

2.添加文本框,命名为“金额合计”,控件来源:=Nz(Sum([数量]*[单价]),0)

如下图所示:

返回页首

步骤5:在子窗体页脚添加2个功能按钮

为了方便操作员在录入数据时,可以清除所有数据,因此添加一个“清空列表”的按钮;另外,当添加的商品没有时,能够添加新的商品,因此添加一个“添加新商品”按钮。

1.在窗体中创建一个“清空列表"命令按钮,命名为:btnDeleteAll,在其单击事件中写如下代码:

    Private Sub btnDeleteAll_Click()
     On Error Resume Next
     If MsgBoxEx("确定要清空当前列表中的所有商品吗?", vbQuestion + vbOKCancel) = vbOK Then
         CurrentDb.Execute "DELETE FROM TMP_采购订单明细表"  '删除该表全部数据
         Me.Requery '刷新数据
     End If
 End Sub

2.在窗体中创建一个“添加新商品"命令按钮,命名为:btnAddProduct,在其单击事件中写如下代码:

 Private Sub btnAddProduct_Click()
   DoCmd.OpenForm "frm商品信息_Edit", , , , acFormAdd, acDialog
   Me!商品ID.Requery
 End Sub

两个按钮的位置如下图所示:

提示关于“商品ID”组合框,因为需要实现根据输入内容自动筛选的功能,该部分内容在 3.3.1.7 中。同样的,在本教程中,类似“采购订单管理”,一些具体功能的实现,并不存在一种线性的前后顺序,有些可能需要后面的内容学完了,前面一些存在但没有讲到的功能才会被串联起来。因此,请先完成整个功能模块的开发,再去进行测试试用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值