此报告图像显示了一个报告,该报告应该打开tempVars,从表单上的几个控件设置到这些控件,这些控件会获取这些值,因此会将这些控件分配给图像中的命名变量。目前,def get_age
dob = children.child_birthday
now = Time.now.utc.to_date
now.year - dob.year - ((now.month > dob.month || (now.month == dob.month && now.day >= dob.day)) ? 0 : 1)
end
helper_method :get_age
子句不起作用,某些参数不匹配或未获取应读取的变量,因此,在<%= get_age %>
条件子句中打开包含指定信息的报告。如何修改where条件以使参数起作用?
(正如你所看到的,我删除了一些更简单的信息。)
WHERE
答案 0 :(得分:0)
使用VBA变量而不是TempVars,并将它们从常量WHERE字符串中取出。像这样:
Dim myDate As Date
Dim myType As String
myDate = CutoffDate
myType = Combo164
DoCmd.OpenReport "Expiring", acViewPreview, , _
"[DuesExpire] = #" & Format(myDate, "mm\/dd\/yyyy") & "# AND [Type] = '" & myType & "'"
如果Type不是字符串而是数字,那么它只是[Type] = " & myType
而没有'
在Access SQL中过滤日期需要一种特殊格式:= #mm/dd/yyyy#
Format(myDate, "mm\/dd\/yyyy")