此主题相关图片如下:qq图片20211209225210.png
总是提示这个错误,没有添加多两个日期控件选项前,全部都能正常显示的,添加多两个日期控件选项后就报错了,我测试过黑色部份代码没问题,能正不常显示数据,蓝色部份代码不知那出了问题。
If e.Form.Controls("StartDate").Value = Nothing OrElse e.Form.Controls("EndDate").Value = Nothing Then '当日期为空取消保存操作
messagebox.show("请选择起止日期")
Return
End If
With Tables("安费用所属期查询统计_Table1")
.SubtotalGroups.Clear()
LockBaseMainForm() '锁定主界面
.StopRedraw()
Dim cmd As New SQLCommand
cmd.CommandText = "Select * Fr om {缴费情况} Where [_Identify] Is null"
Dim dt0 As DataTable = cmd.ExecuteReader()
If dt0.DataCols.Contains("查询_月租_所属日期") = False Then
dt0.DataCols.add("查询_月租_所属日期", Gettype(Date))
End If
If dt0.DataCols.Contains("查询_月租_缴费金额") = False Then
dt0.DataCols.add("查询_月租_缴费金额", Gettype(Double))
End If
Dim Filter1 As String
With e.Form.Controls("ComboBox1")
If .Value Is Nothing Then
Filter1 = "[分类] = '" & DataTables("分类").DataRows(0)("分类") & "'"
End If
End With
If e.Form.Controls("StartDate").Value IsNot Nothing Then
If Filter1 > "" Then
Filter1 = Filter1 & " And "
End If
Filter1 = Filter1 & "[缴费_月租_起计日期] >= #" & e.Form.Controls("StartDate").Value & "#"
ElseIf e.Form.Controls("DateTimePicker1").Value IsNot Nothing Then
If Filter1 > "" Then
Filter1 = Filter1 & " And "
End If
Filter1 = Filter1 & "[缴费_月租_起计日期] >= #" & e.Form.Controls("DateTimePicker1").Value & "#"
End If
If e.Form.Controls("EndDate").Value IsNot Nothing Then
If Filter1 > "" Then
Filter1 = Filter1 & " And "
End If
Filter1 = Filter1 & "[缴费_月租_止计日期] <= #" & e.Form.Controls("EndDate").Value & "#"
ElseIf e.Form.Controls("DateTimePicker2").Value IsNot Nothing Then
If Filter1 > "" Then
Filter1 = Filter1 & " And "
End If
Filter1 = Filter1 & "[缴费_月租_止计日期] >= #" & e.Form.Controls("DateTimePicker2").Value & "#"
End If
With e.Form.Controls("DropBox1")
If .Value IsNot Nothing Then
If Filter1 > "" Then
Filter1 = Filter1 & " And "
End If
Filter1 = Filter1 & "车牌号码 = '" & .Value & "'"
End If
End With
If Filter1 > "" Then
Dim drs0 As List(Of DataRow) = DataTables("缴费情况").SQLSelect(Filter1)
Dim a As Integer
For a = 0 To drs0.count - 1
Dim b As Integer
For b = 0 To drs0(a)("缴费_月租_缴费月数") - 1
Dim da0 As DataRow = dt0.AddNew()
da0("分类") = DataTables("分类").DataRows(0)("分类")
da0("住址_巷") = drs0(a)("住址_巷")
da0("住址_号") = drs0(a)("住址_号")
da0("住址_房") = drs0(a)("住址_房")
da0("姓名") = drs0(a)("姓名")
da0("手机号码") = drs0(a)("手机号码")
da0("车牌号码") = drs0(a)("车牌号码")
da0("缴费_月租_起计日期") = "#" & drs0(a)("缴费_月租_起计日期") & "#"
da0("缴费_月租_止计日期") = "#" & drs0(a)("缴费_月租_止计日期") & "#"
da0("查询_月租_所属日期") = drs0(a)("缴费_月租_起计日期").AddMonths(b)
da0("缴费_月租_月租单价") = drs0(a)("缴费_月租_月租单价")
da0("查询_月租_缴费金额") = drs0(a)("缴费_月租_月租单价")
Next
Next
Dim bc As New GroupTableBuilder("统计表2",dt0)
Dim dt1 As fxDataSource
bc.Filter = Filter1
bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Year,"年")
bc.Groups.AddDef("查询_月租_所属日期",DateGroupEnum.Month,"月")
bc.Totals.AddDef("查询_月租_缴费金额")
dt1 = bc.BuildDataSource()
End If
[此贴子已经被作者于2021/12/12 12:26:23编辑过]