Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Dim StartDate,EndDate As Date
If e.Form.Controls("起始日期").value IsNot Nothing Then
StartDate = e.Form.Controls("起始日期").value
Else StartDate = #01/01/2000#
End If
If e.Form.Controls("终止日期").value IsNot Nothing Then
EndDate = e.Form.Controls("终止日期").value
Else EndDate = #01/01/2100#
End If
If e.Form.Controls("单选订单号").checked = True Then
If e.Form.Controls("订单号").value IsNot Nothing Then
Tables("清单列表显示窗口_Table1").Fill("Select * From {清单列表} where [日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "# And [订单号] Like '" & e.Form.Controls("订单号").value & "%" & "'","技术文件", False)
Else
Tables("清单列表显示窗口_Table1").Fill("Select * From {清单列表} where [日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#","技术文件", False)
End If
End If
运行后出现提示说语法错误,究竟是哪里错了?我找了半天都没找出来
打开命令窗口。在你的代码中用output.show显示一下合成的Select语句,复制到foxtable的SQL执行窗口执行,看看是不是合成的语句有问题。
终于发现了帮助里面得这句话:
如果数据源是SQl SERVER,日期常量用单引号而不是#号括起来,例如:
SELECT * FROM {订单} WHERE 日期 >= '1/1/1999' AND 日期 <= '1/31/1999'
所以上面那段代码要改成这样:
If e.Form.Controls("单选订单号").checked = True Then
If e.Form.Controls("订单号").value IsNot Nothing Then
Tables("清单列表显示窗口_Table1").Fill("Select * From {清单列表} where [日期] >= '" & StartDate & "' And [日期] <= '" & EndDate & "' And [订单号] Like '" & e.Form.Controls("订单号").value & "%" & "'","技术文件", False)
Else
Tables("清单列表显示窗口_Table1").Fill("Select * From {清单列表} where [日期] >= '" & StartDate & "' And [日期] <= '" & EndDate & "'","技术文件", False)
End If
End If
将下面这些代码中的#替换为'即可:
If e.Form.Controls("订单号").value IsNot Nothing Then
Tables("清单列表显示窗口_Table1").Fill("Select * From {清单列表} where [日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "# And [订单号] Like '" & e.Form.Controls("订单号").value & "%" & "'","技术文件", False)
Else
Tables("清单列表显示窗口_Table1").Fill("Select * From {清单列表} where [日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#","技术文件", False)
End If