0

这是我用来启用/禁用按钮(允许创建新修订版)的一部分代码,具体取决于结果。

如果 dcount 返回 0,则表示下一个版本尚不存在(因此可以创建)如果 dcount 返回 1,则表示下一个版本已经存在(因此按钮将被禁用)

DCount("index_rit", "t_données_rit", "[RITn°]=" & Me.RITn°.Value & " AND [Revision]=" & Me.Revision.Value + 1)

我的问题是,由于某种原因,即使一条记录对应于 dcount 中输入的值,它仍然返回 0。

我在没有 [] 字段的情况下尝试了 ant 。
我也尝试使用 * 而不是 index_rit ...

我做错了什么?

4

2 回答 2

2

知道了。这是一个格式问题:RITn° 的格式为 xx-xx,所以我不得不这样说:

"[RITn°]='" & Me.RITn°.Value & "' AND [Revision]=" & Me.Revision.Value + 1)

(添加了单引号)

于 2011-01-04T12:17:24.483 回答
-1

首先,DCount(和其他“D”函数)通常被认为有点拖累性能。尝试用这个快速功能替换它。您只需向它传递一个查询,它将返回记录数

Private Function GetRecordCount(strSearch as String) as Long
Dim rst As ADODB.Recordset
Dim RecCount As Long

Set rst = New ADODB.Recordset

With rst
   .ActiveConnection = CodeProject.Connection
   .CursorType = adOpenForwardOnly
   .LockType = adLockReadOnly
   .Source = strSearch
   .Open Options:=adCmdText
   if .EOF = true then
        RecCount=0
   else
        RecCount=.Collect(0)
   End If

   .Close
End With

GetRecordCount = RecCount

Set rst = Nothing

End Function

这使用 ADO,但如果您只是使用访问表,则可以/应该使用 DAO,但这是另一个问题!

于 2011-01-04T12:24:38.387 回答