Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
呵呵,我在命令窗口测试通过的。
另:
1、sql server的日期只能用引号
2、如果内部表,用#号,但是你我系统不同,也许你这边用单引号吧。
其它版主给出了求年月的代码,你自己挪过来。
呵呵,我在命令窗口测试通过的。
另:
1、sql server的日期只能用引号
2、如果内部表,用#号,但是你我系统不同,也许你这边用单引号吧。
呵呵,您的条件是某月份的最小编号n,如其他月份的编号也是n,就会出错吧.我想楼主要的是:满足月份且为最小编号.
呵呵,您的条件是某月份的最小编号n,如其他月份的编号也是n,就会出错吧.我想楼主要的是:满足月份且为最小编号.
惭愧,没想到这个。
再改:
Dim Year As Integer = 2008
Dim Month As integer = 2
Dim StartDate AS date = New Date(Year, Month, 1)
Dim EndDate AS Date = New Date(Year, Month, Date.DaysInMonth(Year, Month))
Dim MinVal As integer = DataTables("订单").Compute("min(编号)", "[日期] >= #" & StartDate & "# And [日期]<= #" & EndDate & "#")
If MainTable.Name = "调用"
Dim f As New Filler
f.SourceTable = DataTables("订单") '指定数据来源
f.SourceCols = "产品,单价,折扣,数量,日期,已付款,编号,型号" '指定数据来源列
f.DataTable = DataTables("调用") '指定数据接收表
f.DataCols = "产品,单价,折扣,数量,日期,已付款,编号,型号" '指定数据接收列
f.Filter = "[编号] = " & MinVal & " And [日期] >= #" & StartDate & "# And [日期]<= #" & EndDate & "#"
DataTables("调用").DataRows.Clear() '清除原来的数据
f.Fill() '填充数据
End If
存在瑕疵,如果求得该月的最小编号为3,那么原来的代码,不会只填充指定月份的最小编号为3的行,而是填充所有月份最小编号为3的记录。
所以filler的填充条件也得加上日期范围限制。
存在瑕疵,如果求得该月的最小编号为3,那么原来的代码,不会只填充指定月份的最小编号为3的行,而是填充所有月份最小编号为3的记录。
所以filler的填充条件也得加上日期范围限制。
有理,哈,套用你的代码还套用错了
这样应该没问题了。
Dim de As Date = Tables("调用").Current("日期")
Dim Year As Integer = de.Year
Dim Month As Integer = de.Month
Dim StartDate AS date = New Date(Year, Month, 1)
Dim EndDate AS Date = New Date(Year, Month, Date.DaysInMonth(Year, Month))
Dim Min As Integer = DataTables("订单").Compute("min(编号)","[日期] >= #" & StartDate & "# And [日期]<= #" & EndDate & "#")
DataTables("调用").DataRows.Clear()
If MainTable.Name = "调用"
Dim f As New Filler
f.SourceTable = DataTables("订单")
f.DataTable = DataTables("调用")
f.Filter = "[编号] = '" & Min & "' And [日期] >= #" & StartDate & "# And [日期]<= #" & EndDate & "#"
f.Fill()
End If