設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 1470|回復: 6
打印 上一主題 下一主題

[窗體] 判斷表中有無這個日期的記錄問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 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_更新?lián)p耗日期"
DoCmd.SetWarnings True

Else
    MsgBox "您選擇的已存在,請重新選擇截止日期!"
End If
每回DEBUG.PRINT 輸出結(jié)果為1
t_bianpingsh 是有數(shù)據(jù)的。 而且日期 和窗體中日期一樣。請問如何修改?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2009-12-11 14:33:55 | 只看該作者
本帖最后由 xryacc2 于 2009-12-11 14:36 編輯

如果值為null,dsum返回的結(jié)果與代碼執(zhí)行的結(jié)果不可預料
可以用dcount或findfirst或filter,以dcount為例:
dim recnum as integer,注意如果是dlookup,dsum,就不要聲明具體的數(shù)據(jù)類型
recnum=dcount("llzk", "t_bianpingsh", "[date]=#" & Me.截止日期 & "#")
if nz(recnum)<1 then
  msgbox "包含該日期的記錄不存在"
end if
以上用法,截止日期是控件名
3#
 樓主| 發(fā)表于 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_更新?lián)p耗日期"
DoCmd.SetWarnings True

每執(zhí)行一次就會Debug.Print  為0  表里的這個日期也有了,可就是追加。
4#
發(fā)表于 2009-12-11 15:20:55 | 只看該作者
上傳你的例子看看。
5#
發(fā)表于 2009-12-11 15:26:00 | 只看該作者
另外,Debug.Print Nz(DCount("llzk", "t_bianpingsh", "date=#" & Me.截止日期 & "#"))
這句可能有問題(沒試過)。可為print nz(recnum)
6#
發(fā)表于 2009-12-11 15:50:52 | 只看該作者
注意:“截止日期”控件不能為空值。
7#
 樓主| 發(fā)表于 2009-12-11 16:58:18 | 只看該作者
好了謝謝
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 10:33 , Processed in 0.102558 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表