设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 判断表中有无这个日期的记录问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-11 14:18:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Private Sub Command39_Click()
Dim straa As String
straa = Nz(DSum("llzk", "t_bianpingsh", "[date]=#" & Me.[截止日期] & "#"))
If straa = "" Then
Debug.Print Nz(DSum("llzk", "t_bianpingsh", "[date]=#" & Me.[截止日期] & "#")) + 1
DoCmd.SetWarnings False
DoCmd.OpenQuery "追加损耗查询"
DoCmd.OpenQuery "q_更新损耗日期"
DoCmd.SetWarnings True

Else
    MsgBox "您选择的已存在,请重新选择截止日期!"
End If
每回DEBUG.PRINT 输出结果为1
t_bianpingsh 是有数据的。 而且日期 和窗体中日期一样。请问如何修改?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-12-11 14:33:55 | 只看该作者
本帖最后由 xryacc2 于 2009-12-11 14:36 编辑

如果值为null,dsum返回的结果与代码执行的结果不可预料
可以用dcount或findfirst或filter,以dcount为例:
dim recnum as integer,注意如果是dlookup,dsum,就不要声明具体的数据类型
recnum=dcount("llzk", "t_bianpingsh", "[date]=#" & Me.截止日期 & "#")
if nz(recnum)<1 then
  msgbox "包含该日期的记录不存在"
end if
以上用法,截止日期是控件名
3#
 楼主| 发表于 2009-12-11 14:49:14 | 只看该作者
还是不行
Dim recnum As Integer
recnum = DCount("llzk", "t_bianpingsh", "date=#" & Me.截止日期 & "#")
If Nz(recnum) < 1 Then
Debug.Print Nz(DCount("llzk", "t_bianpingsh", "date=#" & Me.截止日期 & "#"))
DoCmd.SetWarnings False
DoCmd.OpenQuery "追加损耗查询"
DoCmd.OpenQuery "q_更新损耗日期"
DoCmd.SetWarnings True

每执行一次就会Debug.Print  为0  表里的这个日期也有了,可就是追加。
4#
发表于 2009-12-11 15:20:55 | 只看该作者
上传你的例子看看。
5#
发表于 2009-12-11 15:26:00 | 只看该作者
另外,Debug.Print Nz(DCount("llzk", "t_bianpingsh", "date=#" & Me.截止日期 & "#"))
这句可能有问题(没试过)。可为print nz(recnum)
6#
发表于 2009-12-11 15:50:52 | 只看该作者
注意:“截止日期”控件不能为空值。
7#
 楼主| 发表于 2009-12-11 16:58:18 | 只看该作者
好了谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 20:34 , Processed in 0.083923 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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