想在‘调用’表的子窗口中的按钮中,调入‘订单’表中与‘调用’表中月份相同的最小编号的记录,代码不会(多个条件就晕了)
呵呵,越是初学的人,越将自己的系统搞得复杂。
'本月第一天
Dim StartDate AS date = New Date(Date.Today.Year,Date.Today.Month,1)
'本月最后一天
Dim EndDate AS Date = New Date(Date.Today.Year,Date.Today.Month,Date.DaysInMonth(Date.Today.Year,Date.Today.Month))
以下是引用czy在2008-12-1 14:32:00的发言:
你所指的当月是指系统当前月份?
中午网络有点问题! 我指的的当月是‘调用’表中日期列所在的月份,
即:想从订单表中调入的记录:
如‘调用’表日期列含一月时:把订单表中一月份的最小编号是 1 的记录调入到‘调用’表,
如‘调用’表日期列含二月时:把订单表中二月份的最小编号是 30 的记录调入到‘调用’表。
当然,调入前都要把‘调用’表中原有的记录删除。上面的 1 和 30 都不是固定的。
[此贴子已经被作者于2008-12-1 15:32:19编辑过]
下面是调入最小编号的代码,我就不会加入一个时间(月份的)条件:
If MainTable.Name = "调用"
Dim f As New Filler
f.SourceTable = DataTables("订单") '指定数据来源
f.SourceCols = "产品,单价,折扣,数量,日期,已付款,编号,型号" '指定数据来源列
f.DataTable = DataTables("调用") '指定数据接收表
f.DataCols = "产品,单价,折扣,数量,日期,已付款,编号,型号" '指定数据接收列
f.Filter = "[编号] = " & DataTables("订单").Compute("min(编号)")
DataTables("调用").DataRows.Clear() '清除原来的数据
f.Fill() '填充数据
End If
我觉得应该要订单表中增加一个月的表达式列,表达式代码帮助中有,如:
SUBSTRING(Convert([日期],'System.String'),6,IIF(SUBSTRING(Convert([日期],'System.String'),7,1) = '-',1,2))然后将楼上的代码改成:
Dim de As Date = Tables("调用").Current("日期")
Dim Month As Integer = de.Month
Dim Min As Integer = DataTables("订单").Compute("Min(编号)","月 = '" & Month & "'")
DataTables("调用").DataRows.Clear()
If MainTable.Name = "调用"
Dim f As New Filler
f.SourceTable = DataTables("订单")
f.SourceCols = "产品,单价,折扣,数量,日期,已付款,编号,型号"
f.DataTable = DataTables("调用")
f.DataCols = "产品,单价,折扣,数量,日期,已付款,编号,型号"
f.Filter = "[编号] = '" & Min & "' And [月] = '" & Month & "'"
f.Fill()
End If
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))
If MainTable.Name = "调用"
Dim f As New Filler
f.SourceTable = DataTables("订单") '指定数据来源
f.SourceCols = "产品,单价,折扣,数量,日期,已付款,编号,型号" '指定数据来源列
f.DataTable = DataTables("调用") '指定数据接收表
f.DataCols = "产品,单价,折扣,数量,日期,已付款,编号,型号" '指定数据接收列
f.Filter = "[编号] = " & DataTables("订单").Compute("min(编号)","[日期] >= #" & StartDate & "# And [日期]<= #" & EndDate & "#")
DataTables("调用").DataRows.Clear() '清除原来的数据
f.Fill() '填充数据
End If
以下是引用狐狸爸爸在2008-12-1 14:43:00的发言:
呵呵,越是初学的人,越将自己的系统搞得复杂。
'本月第一天
Dim StartDate AS date = New Date(Date.Today.Year,Date.Today.Month,1)
'本月最后一天
Dim EndDate AS Date = New Date(Date.Today.Year,Date.Today.Month,Date.DaysInMonth(Date.Today.Year,Date.Today.Month))
哈哈,狐爸,某月的第一天和最后一天可能都没有记录的,不过收藏您给的代码了。~
重新上转一个文件吧,一楼的文件只有1月份,现将编号30以后的月份改为2。
如果调用表没有内容,请在子窗口中点调入最后一条按钮
[此贴子已经被作者于2008-12-1 15:47:01编辑过]