设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
#
发表于 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
14#
 楼主| 发表于 2011-9-11 22:10:46 | 只看该作者
不用临时表可以解决该问题,但是,用临时表也是一种思路,但找不到问题的原因在哪里?
13#
 楼主| 发表于 2011-9-11 21:24:29 | 只看该作者
祝各位版主、论坛的朋友中秋快乐!
12#
 楼主| 发表于 2011-9-7 22:32:21 | 只看该作者
各位热心的老师,请给点指导意见哦,期待中。。。
11#
 楼主| 发表于 2011-9-4 20:55:19 | 只看该作者
roych 发表于 2011-9-4 03:34
老汉的单引号部分写错了:
    If IsNull(DLookup("货号", "商品资料", "货号 = '"& me.货号 &"'")) = Tru ...

版主,我把以上错误修正后仍然不可以,还请帮忙处理一下,谢谢!
或者请帮忙指点一下另外的一个思路。
10#
发表于 2011-9-4 08:36:16 | 只看该作者
roych 发表于 2011-9-4 03:34
老汉的单引号部分写错了:
    If IsNull(DLookup("货号", "商品资料", "货号 = '"& me.货号 &"'")) = Tru ...

复制过来的,没细看。
9#
发表于 2011-9-4 03:34:59 | 只看该作者
本帖最后由 roych 于 2011-9-4 03:47 编辑

老汉的单引号部分写错了:
    If IsNull(DLookup("货号", "商品资料", "货号 = '"& me.货号 &"'")) = True Then
8#
 楼主| 发表于 2011-9-3 21:07:10 | 只看该作者
感谢二位版主!目前该问题本人仍没有得到解决,现传上附件,烦请帮忙指点,谢谢!
您可以试着点一下“新增”,简单录入资料后点击“保存并新增”或“保存并关闭”后,在“商品资料”列表中仍然不能显示,即保存不成功,重新点击“新增”或打开临时表和正式表对比查看亦可看出问题。盼复!

本帖子中包含更多资源

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

x
7#
发表于 2011-9-2 11:21:41 | 只看该作者
Dim strsql As String
Dim B as Boolean
B=IsNull(Me.货号) = False
B=B and IsNull(Me.商品名称) = False
B=B and IsNull(Me.商品分类) = False
B=B and IsNull(Me.单位) = False
If B=True Then
    If IsNull(DLookup("货号", "商品资料", "货号 = ""& me.货号 &""")) = True Then
        strsql="追加商品资料temp"
        currentdb.execute strsql
        strsql = "delete * from 商品资料_temp"
        currentdb.execute strsql
        DoCmd.GoToRecord , , acNewRec
        MsgBox "新的商品资料保存成功!"
    else
        MsgBox "新编货号已经存在,请重新编写!"
        Me.货号.SetFocus
    end if
else
    MsgBox "货号、品名、分类、单位均不能为空!"
End If
6#
 楼主| 发表于 2011-9-2 08:48:04 | 只看该作者
根据版主的建议优化了代码,谢谢!但仍然不能解决需要两次执行代码的问题,烦请指点迷津。
目前问题主要表现在:
1、第一次执行该代码后,没有成功追加,经查数据仍然保存在临时表,亦即删除代码也无效;
2、第二次打开新增窗口,即显示没有追回的数据(按设计应该打开新的记录),再执行以上代码后,数据方追加成功,临时表数据删除也成功。
以上盼复!
5#
 楼主| 发表于 2011-9-2 08:40:00 | 只看该作者
版主,我的回复看到了吗?谢谢!
怎么现在需要审核回复呀?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 20:53 , Processed in 0.122070 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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