Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共21 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

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

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

2楼
czy 发表于:2008/12/1 14:32:00
你所指的当月是指系统当前月份?
3楼
狐狸爸爸 发表于: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))

4楼
mr725 发表于:2008/12/1 15:08:00
以下是引用czy在2008-12-1 14:32:00的发言:
你所指的当月是指系统当前月份?

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

[此贴子已经被作者于2008-12-1 15:32:19编辑过]
5楼
mr725 发表于: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
6楼
czy 发表于: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
7楼
ybil 发表于: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楼
狐狸爸爸 发表于: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
9楼
mr725 发表于: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))

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

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

如果调用表没有内容,请在子窗口中点调入最后一条按钮
[此贴子已经被作者于2008-12-1 15:47:01编辑过]
共21 条记录, 每页显示 10 条, 页签: [1] [2][3]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 4 queries.