以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]从EXCEL中导入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128230)

--  作者:leoli
--  发布时间:2018/12/1 16:36:00
--  [求助]从EXCEL中导入
从EXCEL中导入明细时,其中一个字段是日期型,可不可以选择指定的日期导入到foxtable表中。谢谢。
--  作者:有点蓝
--  发布时间:2018/12/1 16:42:00
--  
使用代码导,如果不是指定日期就跳过这行数据:http://www.foxtable.com/webhelp/scr/2334.htm

Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
Dim d As Date = #12/1/2018#
For n As Integer = 1 To Sheet.Rows.Count -1
    If cdate(Sheet(n,7).Value) = d
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()

--  作者:leoli
--  发布时间:2018/12/1 17:02:00
--  
#12/1/2018#  这个日期能从窗口中的datepicktime中获取吗 ? 另外同时还要满足窗口控件 “客户”
--  作者:有点蓝
--  发布时间:2018/12/1 17:13:00
--  
Dim d As Date = e.form.controls("datepicktime1").value
Dim kh As string = e.form.controls("客户").value
……
If cdate(Sheet(n,7).Value) = d andalso Sheet(n,2).Value = kh

--  作者:leoli
--  发布时间:2019/2/20 18:10:00
--  
版主,请问一下,如何设定这个日期从今天起算一个月内的明细导入进来?
--  作者:有点蓝
--  发布时间:2019/2/20 20:22:00
--  
参考:http://www.foxtable.com/webhelp/scr/2720.htm
--  作者:leoli
--  发布时间:2019/2/20 21:47:00
--  
版主, 以下帮忙看一下,好像不对了。
 
Dim d As Date = Date.Today.Year + 30
For n As Integer = 1 To Sheet.Rows.Count -1
    If cdate(Sheet(n,7).Value) = d

 


--  作者:有点蓝
--  发布时间:2019/2/20 21:53:00
--  
日期的用法先学学:http://www.foxtable.com/webhelp/scr/1337.htm

结合6楼的帮助理解一下

--  作者:leoli
--  发布时间:2019/2/21 18:34:00
--  

版主,能帮忙再看一下吗? 谢谢。

 

Dim d As Date = Today.Year + 30
For n As Integer = 1 To Sheet.Rows.Count -1
    If cdate(Sheet(n,7).Value) < d

--  作者:有点蓝
--  发布时间:2019/2/21 20:16:00
--  

For n As Integer = 1 To Sheet.Rows.Count -1
    If cdate(Sheet(n,7).Value) >= date.totay andalso cdate(Sheet(n,7).Value) < date.totay.AddMonths(1)