设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 11983|回复: 36
打印 上一主题 下一主题

[窗体] 连续子窗体合计实例

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-2 11:12:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  我们知道为了在窗体或者报表计算和输出合计,通常是在页眉页脚处用文本框来处理。对于用惯了Excel的同志们来说,总觉得这样的一种处理有些许别扭。因此,就有一小撮和我一样的初学者,希望能在连续的子窗体中直接把合计数列于表的尾部。近日,对这个问题胡乱琢磨了一番,发现还真可以在Access中实现。便也就写了一个小实例,或许能给同志们一个参考。

要点:

1、将明细查询和合计查询做成一个联合查询,其中合计的记录中人员ID编号为“99999”,保证该条记录在排序后处于末尾;


2、联合查询在子窗体中无法编辑数据,因此可以看成对子窗体的锁定。为了使数据能够修改,便通过解锁按钮更换数据源。






  

1、输入发放日期



2、点击导入名单按钮。




3、点击解锁按钮。


  

4、录入数据。


  

5、点击锁定按钮。


  
VB代码如下:

Private Sub 导入_Click()
Dim sql As String
DoCmd.SetWarnings no
If Not (IsNull(Me.发放日期)) Then
   sql = "INSERT INTO 工资表 ( 人员ID, 日期 ) "
   sql = sql + "SELECT 人员表.人员ID, Format(Forms!主窗体!发放日期,'yy-mm-dd') AS 日期 "
   sql = sql + "FROM 人员表 "
   sql = sql + "WHERE 人员表.部门ID=[Forms]![主窗体]![部门ID];"
   DoCmd.RunSQL sql
   Me.子窗体.Form.Requery
End If
End Sub


Private Sub 发放日期_LostFocus()
Me.子窗体.Form.Requery
Me.工资总额.Requery
End Sub

Private Sub 解锁_Click()
Me.子窗体.Form.RecordSource = "工资查询"
End Sub

Private Sub 锁定_Click()
Me.子窗体.Form.RecordSource = "联合查询"
Me.工资总额.Requery
End Sub




[ 本帖最后由 todaynew 于 2009-1-2 11:48 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2经验 +14 收起 理由
wang1950317 + 9
tmtony + 5

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

38#
发表于 2015-3-19 06:25:36 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

37#
发表于 2012-1-10 16:18:15 | 只看该作者
谢谢老大,很需要。谢了。{:soso_e100:}
36#
发表于 2012-1-10 15:53:08 | 只看该作者
学习
35#
发表于 2012-1-10 15:33:14 | 只看该作者
哈哈,历害
34#
发表于 2012-1-10 15:23:28 | 只看该作者
谢谢分享
33#
发表于 2012-1-21 09:19:48 | 只看该作者
谢谢!
32#
发表于 2009-7-30 10:09:46 | 只看该作者
讲述的很清楚,首先这种精神就可嘉.
31#
发表于 2009-3-21 22:25:42 | 只看该作者
多谢分享

点击这里给我发消息

30#
发表于 2009-3-21 21:46:18 | 只看该作者
学习!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 12:24 , Processed in 0.098978 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表