设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 请教:为何需要点击两次才能追加成功?

[复制链接]
跳转到指定楼层
1#
发表于 2011-8-30 23:26:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
如下为商品资料窗体的"保存并新增"事件代码,请教为何需要点击两次才能成功追加(保存)?谢谢!
  1. Dim strsql As String

  2. strsql = "delete * from 商品资料_temp"

  3. DoCmd.SetWarnings False

  4. If IsNull(Me.货号) = True Then
  5. MsgBox ("货号不能为空!"), vbOKOnly + vbExclamation, "错误提示"
  6. End If
  7. If IsNull(Me.商品名称) = True Then
  8. MsgBox ("商品名称不能为空!"), vbOKOnly + vbExclamation, "错误提示"
  9. End If
  10. If IsNull(Me.商品分类) = True Then
  11. MsgBox ("商品分类不能为空!"), vbOKOnly + vbExclamation, "错误提示"
  12. End If
  13. If IsNull(Me.单位) = True Then
  14. MsgBox ("单位不能为空!"), vbOKOnly + vbExclamation, "错误提示"
  15. End If

  16. If IsNull(DLookup("货号", "商品资料", "货号 = ""& me.货号 &""")) = True Then
  17. DoCmd.OpenQuery ("追加商品资料temp")     '从临时表追加到正式表
  18. DoCmd.RunSQL strsql       ’删除临时表资料
  19. DoCmd.GoToRecord , , acNewRec
  20. MsgBox ("新的商品资料保存成功"), vbOKOnly + vbInformation, "保存成功"
  21. Else
  22. MsgBox ("新编货号已经存在,请重新编写!"), vbOKOnly + vbExclamation, "错误提示"
  23. Me.货号.SetFocus
  24. End If
  25. DoCmd.SetWarnings True
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2011-9-1 01:01:29 | 显示全部楼层
谢谢!
3#
 楼主| 发表于 2011-9-2 00:25:08 | 显示全部楼层
版主,你好!
根据你的建议简化了代码,但还是没有解决问题,具体表现为:
1、第一次点击执行代码后,窗体显示为新的记录,但回到正式表中并没有将该记录追加进去;
2、重新点击新增商品资料(数据源为临时表),窗体仍然显示的是前面没有追加的数据,即以上代码没有执行追加查询,也没有执行删除语句,当再次点击“保存并新增”后,数据则保存成功。
以上还请版主指点迷津,再次感谢!盼!
4#
 楼主| 发表于 2011-9-2 08:40:00 | 显示全部楼层
版主,我的回复看到了吗?谢谢!
怎么现在需要审核回复呀?
5#
 楼主| 发表于 2011-9-2 08:48:04 | 显示全部楼层
根据版主的建议优化了代码,谢谢!但仍然不能解决需要两次执行代码的问题,烦请指点迷津。
目前问题主要表现在:
1、第一次执行该代码后,没有成功追加,经查数据仍然保存在临时表,亦即删除代码也无效;
2、第二次打开新增窗口,即显示没有追回的数据(按设计应该打开新的记录),再执行以上代码后,数据方追加成功,临时表数据删除也成功。
以上盼复!
6#
 楼主| 发表于 2011-9-3 21:07:10 | 显示全部楼层
感谢二位版主!目前该问题本人仍没有得到解决,现传上附件,烦请帮忙指点,谢谢!
您可以试着点一下“新增”,简单录入资料后点击“保存并新增”或“保存并关闭”后,在“商品资料”列表中仍然不能显示,即保存不成功,重新点击“新增”或打开临时表和正式表对比查看亦可看出问题。盼复!

本帖子中包含更多资源

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

x
7#
 楼主| 发表于 2011-9-4 20:55:19 | 显示全部楼层
roych 发表于 2011-9-4 03:34
老汉的单引号部分写错了:
    If IsNull(DLookup("货号", "商品资料", "货号 = '"& me.货号 &"'")) = Tru ...

版主,我把以上错误修正后仍然不可以,还请帮忙处理一下,谢谢!
或者请帮忙指点一下另外的一个思路。
8#
 楼主| 发表于 2011-9-7 22:32:21 | 显示全部楼层
各位热心的老师,请给点指导意见哦,期待中。。。
9#
 楼主| 发表于 2011-9-11 21:24:29 | 显示全部楼层
祝各位版主、论坛的朋友中秋快乐!
10#
 楼主| 发表于 2011-9-11 22:10:46 | 显示全部楼层
不用临时表可以解决该问题,但是,用临时表也是一种思路,但找不到问题的原因在哪里?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 04:05 , Processed in 0.144558 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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