设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 9672|回复: 14
打印 上一主题 下一主题

[窗体] 请教:如何在子窗体中新增记录时自动产生序号

[复制链接]
跳转到指定楼层
1#
发表于 2009-5-11 14:41:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请高手帮忙!谢谢!
问题:如何在子窗体中新增记录时自动产生序号?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-5-11 15:26:46 | 只看该作者
咋就没人赐教呢,版主?
3#
发表于 2009-5-11 15:31:53 | 只看该作者
用子查询或者Dcount函数,具体方法参见《趣谈子查询》中的倒数第二个查询。
4#
 楼主| 发表于 2009-5-11 15:53:14 | 只看该作者
谢谢你的回复!好象没有看到适合我的意思的。
5#
发表于 2009-5-11 16:00:19 | 只看该作者
用一下=currentrecord看行不行
6#
发表于 2009-5-11 16:06:37 | 只看该作者
本帖最后由 todaynew 于 2009-5-11 16:11 编辑

不会吧?呵呵
关于no可以这样得到:
select  dcount("*","表名称","id=" & 表名称.id &  " and deteil-id <=" & 表名称.deteil-id ) as no form  表名称
或者:
select  (select count(*)  form  表名称 as b where b.id=a.id  and b.deteil-id <=a.deteil-id from 表名称 as b) as no form  表名称  as  a

此外也可用窗体的编号:
me.Form.CurrentRecord

总之不需要等设一个字段
7#
 楼主| 发表于 2009-5-11 16:15:58 | 只看该作者
这样说吧,我现在生成序号的处理方法就是用dcount()更新生成的,如下:
  1. UPDATE 业务联系单detail SET 业务联系单detail.receive_no = DCount("bill_detail_id","业务联系单detail","bill_id=" & [bill_id] & " and bill_detail_id<=" & [bill_detail_id])
  2. WHERE (((业务联系单detail.receive_no) Is Null) AND ((业务联系单detail.customer_short) Is Not Null));
复制代码
但是,这不是我的原意,我的意思是在如上图子窗体中新增一条记录,即自动产生一个序号,在事件中实现,而不是通过更新查询来处理。
再次表示感谢!
烦请下载本人上传的示例,然后在子窗体中随便增加一条记录,当前是没有事件,现在的No值1、2是手工输入的。
8#
 楼主| 发表于 2009-5-11 16:18:26 | 只看该作者
还补充说一下:增加一个字段是为了提高效率,如果用dcount()去生成,打开窗体的速度好慢!谢谢!
9#
发表于 2009-5-11 16:19:47 | 只看该作者
id 的更新后事件中写:

DoCmd.RunCommand acCmdRecordsGoToFirst
Do While IsNull(Me.ID) = False
    Me.no.value = Me.Form.CurrentRecord
    DoCmd.RunCommand acCmdRecordsGoToNext
Loop
DoCmd.RunCommand acCmdRecordsGoToFirst
10#
 楼主| 发表于 2009-5-11 16:39:01 | 只看该作者
真是不好意思,经测试好象还是不行,可否帮忙在示例中处理一下,感激!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-20 23:17 , Processed in 0.099661 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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