设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1516|回复: 7
打印 上一主题 下一主题

[Access本身] ACCESS 自动多插入一条记录

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-29 15:31:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim strWhere As String
Dim a As Integer
Dim n As Integer
Dim i As Integer
   a = DMax("[序号]", "数据记录", "")
   n = Me.[枚数]
DoCmd.SetWarnings False
For i = a + 1 To a + n
    strWhere = "insert into 数据记录 (序号,指示书号,接单日期,交货日期,客户名,类别) values ( '" & i & "',指示书号,接单日期,交货日期,客户名,类别)"
    DoCmd.RunSQL strWhere
Next
DoCmd.SetWarnings True
Me.Requery

上面的代码是用来向表插入记录用的。
“序号”是自动累加的。
因为一个“指示书号”可能会对应几个“工件名”,为了方便输入,所以希望能够根据“Me.[枚数]”框中输入的数量自动插入几条相同内容的记录。 这个功能用上面的代码已经能够实现了。但是奇怪的是,每次插入了指定数量的记录后,还会多插入一条记录。
多插入的那条记录,前面的“序号”是“0”。调查了下,发现表中,“序号”的格式我设置的是“数字”,默认值是“0”。
当我将“序号”的格式设置为“文本”,还是会多插入一条记录,“序号”变成了空白。
这究竟是为什么呀?请高手指点迷津。万分感谢!!!
哦,另外,在代码结束部分,我用了“Me.Requery”,希望即时看到输入的数据。
我用的父子窗体,父窗体用来输入记录,而子窗体用来显示记录。
但是,现在输入后不能够即时显示,一定要退出窗体重新打开,才能在子窗体里看到刚才输入的记录。
这个又是为什么呀??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-3-29 18:00:58 | 只看该作者
用me.refresh 或
me.子窗体.setfocus
me.requery
试试
3#
 楼主| 发表于 2008-3-29 21:01:08 | 只看该作者
谢谢二楼的提醒,刷新的问题已经得到解决.

可是关于多一条记录的问题,可以给个改进的建议吗?
4#
发表于 2008-3-29 22:16:03 | 只看该作者
默认值为空试试
5#
 楼主| 发表于 2008-3-30 18:53:25 | 只看该作者
试验了,结果不行。有没有其他的方法啊?
6#
 楼主| 发表于 2008-4-6 17:23:39 | 只看该作者
呼叫高手!
呼叫高手!
7#
 楼主| 发表于 2008-4-7 13:13:14 | 只看该作者
附件中是我的文件,请各为老大看看,能否将多出来的一行解决掉.

本帖子中包含更多资源

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

x
8#
 楼主| 发表于 2008-4-8 14:33:06 | 只看该作者
问题已经解决!谢谢提供帮助的各位.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-23 09:25 , Processed in 0.131689 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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