【发布时间】:2015-05-18 07:07:11
【问题描述】:
在 andshrew 的回答之后编辑了
我只是在 VBA 脚本中找到了自己的脚,对这段相当简单的代码有点困惑。我怀疑这是因为我没有正确理解 Where 语句的语法。下面的代码应该打开一个表单到一个匹配两个过滤器表达式的记录,但它打开一个空白记录。如果我只使用一个过滤器表达式,它会按需要工作并将表单打开到正确的记录子集。从我在其他地方发现的情况来看,应该可以将多个过滤条件与 AND 结合起来,所以我不知道为什么这不起作用。
如果这不是一个简单的语法问题,请参阅下面的代码以更详细地描述我正在尝试做的事情。
Private Sub lsPrevObs_DblClick(Cancel As Integer)
Dim Microchip As String
Dim ObsDate As Date
Microchip = Me.Text24
ObsDate = Me.lsPrevObs
DoCmd.OpenForm "frmObservationsEdit", acNormal, , "ObsMicrochip ='" & Microchip & "' AND TrappingDate = #" & ObsDate & "#", acFormEdit
End Sub
这个子的上下文:
我有一个表格,其中包含有关个体动物的基本信息,其微芯片编号(尽管它的名称确实包含字母,因此是一个字符串,而不是整数)作为主键。然后我有一个观察表,它使用 Microchip 编号和观察日期作为复合主键。 我有一个链接到第一个表格的表格。文本框 (Text24) 显示当前记录的微芯片编号,列表框 (lsPrevObs) 显示观察表中已有记录的动物的观察日期。我想将一些 VBA 代码绑定到列表框的双击事件,以便当用户双击日期时,会打开一个新表单(frmObservationsEdit,DataEntry=No)并允许编辑该观察记录。
感谢您查看此内容。
【问题讨论】:
标签: vba syntax ms-access-2010 where-clause