Foxtable(狐表)用户栏目专家坐堂 → 根据不同表格日期顺序生成表格


  共有4208人关注过本帖树形打印复制链接

主题:根据不同表格日期顺序生成表格

帅哥哟,离线,有人找我吗?
yangwenghd
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/26 0:45:00 [只看该作者]

你就帮帮我完成这个吧!我真的一时半会儿做不出来,头都发胀了 

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/9/28 8:09:00 [只看该作者]

Select可以用排序参数啊,例如帮助的代码是:

For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For Each dc As DataCol in DataTables("表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
    Next
Next

你要根据日期顺序填充,只需:

For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100","日期")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For Each dc As DataCol in DataTables("表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
    Next
Next

您看一下Select的帮助:
http://www.foxtable.com/help/topics/0400.htm

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/28 10:40:00 [只看该作者]

以下是引用yangwenghd在2015/9/25 20:19:00的发言:
感谢 根据时间顺序填充帮助在那里啊?感谢 感谢

 

填充结束以后,对日期列进行一下排序就行。


 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/29 23:54:00 [只看该作者]

谢谢 

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/30 11:01:00 [只看该作者]

Dim filter1 As String = ""
If e.Form.Controls("RadioButton1").Checked Then
    filter1 = Tables("表A").Cols "日期A" Or Tables("表B").Cols "日期B"  Or Tables("表C").Cols "日期C" = #" & d1 & "#"
ElseIf e.Form.Controls("RadioButton2").Checked Then
是那个出了问题啊!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/30 11:03:00 [只看该作者]

没有你这种写法,定义三个filter1、filter2、filter3,分别写

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/9/30 15:09:00 [只看该作者]

看来我太天真了 我还是称这个国庆好好看看视频吧!!!这个表能帮我完成一下吗?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/30 15:10:00 [只看该作者]

不能

 回到顶部
帅哥哟,离线,有人找我吗?
yangwenghd
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2015/10/3 22:32:00 [只看该作者]

Dim Cols1() As String = {"订单日期","返点金额","产品成本"}
Dim Cols2() As String = {"收支日期","核算毛利","核算支费"}
For Each dr1 As DataRow In DataTables("订单出库").Select("[返点金额] > 100")
    Dim dr2 As DataRow = DataTables("核算统计").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next




Dim d1 As Date = e.Form.Controls("DateTimePicker5").Value
If d1 = Nothing Then d1 = Date.Today
Dim filter1 As String = ""
If e.Form.Controls("RadioButton1").Checked Then
    filter1 = "业务往来_送货日期 = #" & d1 & "#"
ElseIf e.Form.Controls("RadioButton2").Checked Then
    Dim w As Integer = d1.DayOfWeek '算出今天是星期几
    Dim dt1 As Date = d1.AddDays(0 - w) '获取本周的第一天 ,星期一到星期天
    Dim dt2 As Date = d1.AddDays(6 - w) '获取本周的最后一天
    filter1 = "业务往来_送货日期 >= #" & dt1 & "# and 业务往来_送货日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton3").Checked Then
    Dim y As Integer = d1.Year
    Dim m As Integer = d1.Month
    Dim dt1 As New Date(y, m, 1)
    Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
    filter1 = "业务往来_送货日期 >= #" & dt1 & "# and 业务往来_送货日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton4").Checked Then
    Dim y As Integer = d1.Year
    Dim q As Integer = (d1.Month - 1) \ 3 + 1 '计算现在是第几个季度
    Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) '获取本季度的第一天
    Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(y,3 * q)) '获取本季度的最后一天
    filter1 = "业务往来_送货日期 >= #" & dt1 & "# and 业务往来_送货日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton5").Checked Then
    Dim y As Integer = d1.Year
    Dim dt1 As New Date(y, 1, 1)
    Dim dt2 As New Date(y, 12, 31)
    filter1 = "业务往来_送货日期 >= #" & dt1 & "# and 业务往来_送货日期 <= #" & dt2 & "#"
Else If e.Form.Controls("RadioButton6").Checked Then
    filter1 = "1=1"
End If

Dim Cols1() As String = {"订单日期","返点金额","产品成本"}
Dim Cols2() As String = {"收支日期","核算毛利","核算支费"}
For Each dr1 As DataRow In DataTables("订单出库").Select("[返点金额] > 100")
    Dim dr2 As DataRow = DataTables("核算统计").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next
 能帮忙指点一下吗 ??? 感谢 感谢 

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/4 10:50:00 [只看该作者]

Dim Cols1() As String = {"订单日期","返点金额","产品成本"}
Dim Cols2() As String = {"收支日期","核算毛利","核算支费"}
For Each dr1 As DataRow In DataTables("订单出库").Select(filter1)
    Dim dr2 As DataRow = DataTables("核算统计").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

 回到顶部
总数 29 上一页 1 2 3 下一页