Foxtable(狐表)用户栏目专家坐堂 → [求助]如何调入当月最小编号的记录


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

主题:[求助]如何调入当月最小编号的记录

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
[求助]如何调入当月最小编号的记录  发帖心情 Post By:2008/12/1 14:07:00 [只看该作者]

想在‘调用’表的子窗口中的按钮中,调入‘订单’表中与‘调用’表中月份相同的最小编号的记录,代码不会(多个条件就晕了)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.table


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/12/1 14:32:00 [只看该作者]

你所指的当月是指系统当前月份?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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))


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/1 15:08:00 [只看该作者]

以下是引用czy在2008-12-1 14:32:00的发言:
你所指的当月是指系统当前月份?

中午网络有点问题! 我指的的当月是‘调用’表中日期列所在的月份,
即:想从订单表中调入的记录:
如‘调用’表日期列含一月时:把订单表中一月份的最小编号是 1 的记录调入到‘调用’表,
如‘调用’表日期列含二月时:把订单表中二月份的最小编号是 30 的记录调入到‘调用’表。
当然,调入前都要把‘调用’表中原有的记录删除。上面的 1 和 30 都不是固定的。

[此贴子已经被作者于2008-12-1 15:32:19编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/1 15:24:00 [只看该作者]

下面是调入最小编号的代码,我就不会加入一个时间(月份的)条件:
        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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/12/1 15:27:00 [只看该作者]

我觉得应该要订单表中增加一个月的表达式列,表达式代码帮助中有,如:
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

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2008/12/1 15:27:00 [只看该作者]

'''
If MainTable.Name = "调用"
     Dim Dt1,Dt2 As DataTable
     Dim T1,T2 As String
     Dim Y,M,n As Short
     Dim D1,D2,D3 As Date
     D1= Date.Today
     Y = D1.year
     M = D1.Month
     D2= New Date(Y,M,1)
     D3= New Date(Y,M,Date.DaysInMonth(Y,M))
     Dt1 = DataTables("订单")
     Dt2 = DataTables("调用")
     T1 = "产品,单价,折扣,数量,日期,已付款,编号,型号"
     T2 = "日期 >='" & D2 & "'And 日期 <='" & D3 & "'"
     n = Dt1.Compute("Min(编号)",T2) 
     T2 = T2 & " And 编号 = " & n
       
     Dim f As New Filler
     f.SourceTable = Dt1
     f.SourceCols = T1
     f.DataTable = Dt2  
     f.DataCols  = T1
     f.Filter = T2 
     Dt2.DataRows.Clear()
     f.Fill()
End If

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/12/1 15:29:00 [只看该作者]


    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

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/1 15:29:00 [只看该作者]

以下是引用狐狸爸爸在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))

哈哈,狐爸,某月的第一天和最后一天可能都没有记录的,不过收藏您给的代码了。~


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/1 15:39:00 [只看该作者]

重新上转一个文件吧,一楼的文件只有1月份,现将编号30以后的月份改为2。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:testa.table

如果调用表没有内容,请在子窗口中点调入最后一条按钮
[此贴子已经被作者于2008-12-1 15:47:01编辑过]

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