我有一个带有两个文本框的 asp 表单。如果用户在其中输入一个值并提交,它会显示来自用户所选日期的 MS 访问查询的数据。如果用户只是将两个文本框都留空,我想显示数据库的完整输出。
这是我在访问中的示例查询:
select column_date, field1, field2, sum(field3) from table1
where field1 like '*xyz' and
column_date between [@startdate] and [@enddate]
group by column_date, field1, field2
我的 asp 代码类似于以下内容:
objCmd.CommandText = "Query"
objCmd.CommandType = adCmdStoredProc
Set objParam = objCmd.CreateParameter("@startdate" , adInteger, adParamInput, 0, 0)
objCmd.Parameters.Append objParam
Set objParam = objCmd.CreateParameter("@enddate" , adInteger, adParamInput, 0, 0)
objCmd.Parameters.Append objParam
if request.form ("startdate") = "" Then
objCmd.Parameters ("@startdate") = 1
Else
objCmd.Parameters("@startdate") = request.form("startdate")
objCmd.Parameters("@enddate") = request.form("enddate")
End if
if request.form ("enddate") = "" Then
objCmd.Parameters ("@enddate") = 31
Else
objCmd.Parameters("@startdate") = request.form("startdate")
objCmd.Parameters("@enddate") = request.form("enddate")
End if
................
请注意我的开始日期和结束日期是文本数据类型,只有数字,例如 1、2、3、4、5(1 表示 2012 年 7 月 1 日,2 表示 2012 年 7 月 2 日)
我有两个文本框名称“startdate”和“enddate”。当用户在框中输入日期时,它会从查询中返回两个日期之间的数据。如果用户留空,则显示错误。
但我想确保如果用户将两个文本框都留空,它会返回查询中的所有值。如果用户在两个文本框中的任何一个中输入单个值,它应该只返回该日期的数据。
我不确定如何实现它。