我有以下我的VBA代碼DCount
:DCOUNT返回0,但應該返回1
If DCount("*", "tbl2Employee_Order", _
"[Operation_Date] = #" & Operation_Date & _
"# AND [Employee_ID]= " & Employee_ID & _
" AND [Order_ID] = " & Order_ID & _
" AND [Model_Operation_ID] = " & MO_ID) = 0 Then
'some code to insert into tbl2Employee_Order
Else
'some code to update the existing record
End If
但是,我總是DCount
返回0,即使記錄已經存在。以下:
Debug.Print Operation_Date, Employee_ID, Order_ID, MO_ID, DCount("*", "tbl2Employee_Order", "[Operation_Date] = #" & Operation_Date & "# AND [Employee_ID]= " & Employee_ID & " AND [Order_ID] = " & Order_ID & " AND [Model_Operation_ID] = " & MO_ID)
返回如預期值:
08/05/2015 2 526 1107 0
除了最後一個,預計爲1(記錄已經存在)。
tbl2EmployeeOrder有這樣的記錄:
Operation_Date: 08/05/2015
Employee_ID: 2
Order_ID: 526
Model_Operation_ID = 1107
有趣的是,它使用沒有問題,工作在幾個星期前,突然它的行爲如果記錄不存在。
編輯:
以下:
Debug.Print TypeName(Operation_Date), TypeName(Employee_ID), TypeName(Order_ID), TypeName(MO_ID)
結果:
Date Integer Integer Integer
而這些也都是變量類型在tbl2Employee_Order。
同樣,如果我使用DLookup
(與一些列名稱),而不是DCount
我得到一個Null
值返回。
是您的日期*變量*(非現場)5月8日或8月5日?訪問SQL需要mm/dd/yyyy格式的日期 - 除非最近發生了更改。在Acc。中交叉檢查。查詢編輯器? – LocEngineer
我將問題限制爲日期(例如,如果從'DCount'中刪除日期,它會查找記錄)。然而,我試着返回日期,並從表格中返回它,格式與我搜索的格式相同(即.Dlookup(「Operation_Date」....)返回08/05/2015,如果我然後評估(調試。打印mydate = Dlookup(...))它返回true。任何想法?:x – emihir0