以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  某一时间段内都包含那些年份  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81219)

--  作者:kaituozhe
--  发布时间:2016/2/21 20:01:00
--  某一时间段内都包含那些年份
比如我想代码列出2011年7月18日至2016年3月1日之间都包含那些年份怎么办法? 因为我设计的项目需要通过设置的期间动态计算年度并通过自动设置某些的列
--  作者:kaituozhe
--  发布时间:2016/2/21 20:18:00
--  

 

Dim Builder1 As New ADOXBuilder
Builder1.Open() \'打开ADOXBuilder
Dim nms() As String ={"2010","2011","2012","2013"}
For Each nm As String In nms
    Dim str As String = "余额" & nm & "_借方发生"
    msgbox(str)
    \'If DataTables("科目余额表").dataCols.Contains("余额" & nm & "_借方发生") = False Then
    If DataTables("科目余额表").dataCols.Contains( Str) = False Then
        Builder1.Tables("科目余额表").AddColumn( str ,ADOXType.Double ) \'增加整数型列
    End If
Next
Builder1.Close()

上述代码想自动增加 余额2010_借方发生 等列,执行时提示如下错误:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
异常来自 HRESULT:0x80040E3E


--  作者:kaituozhe
--  发布时间:2016/2/21 20:30:00
--  

Dim Builder1 As New ADOXBuilder
Builder1.Open() \'打开ADOXBuilder
Dim nms() As String ={"2010","2011","2012","2013"}
For Each nm As String In nms
    Dim str As String = """余额"& nm &"_借方发生"""
    msgbox(Str)
    \'If DataTables("科目余额表").dataCols.Contains("余额" & nm & "_借方发生") = False Then
    If DataTables("科目余额表").dataCols.Contains(Str) = False Then
        Builder1.Tables("科目余额表").AddColumn(str,ADOXType.Double ) \'增加整数型列
    End If
Next
Builder1.Close()

修改后提示不能包含除_以外的字符,通过msgbox(Str)也没有看到有其他字符是什么原因?


--  作者:大红袍
--  发布时间:2016/2/21 21:50:00
--  
Dim Builder1 As New ADOXBuilder
Builder1.Open() \'打开ADOXBuilder
Dim nms() As String ={"2010","2011","2012","2013"}
For Each nm As String In nms
    Dim str As String = "余额" & nm & "_借方发生"
    msgbox(str)
    If DataTables("科目余额表").dataCols.Contains( Str) = False Then
        Builder1.Tables("科目余额表").AddColumn( str ,ADOXType.Double ) \'增加整数型列
    End If
Next
Builder1.Close()
DataTables.unload("科目余额表")
DataTables.Load("科目余额表")

--  作者:大红袍
--  发布时间:2016/2/21 21:51:00
--  
Dim d1 As Date = "2011-7-8"
Dim d2 As Date = "2016-3-1"
For y As Integer = d1.Year To d2.Year
    msgbox(y)
Next

--  作者:kaituozhe
--  发布时间:2016/2/21 23:00:00
--  
Builder1.Tables("科目余额表").AddColumn("余额"& nms(nms().count-1) &"_期末余额",ADOXType.Double ) \'增加整数型列这句代码提示错误,该怎么改?
--  作者:大红袍
--  发布时间:2016/2/21 23:08:00
--  
Builder1.Tables("科目余额表").AddColumn("余额"& nms(nms.length-1) &"_期末余额",ADOXType.Double )
--  作者:kaituozhe
--  发布时间:2016/2/21 23:42:00
--  

For y As Integer = CDate(tb.find("项目= \'开始日期\'")("内容")).Year To CDate(tb.find("项目= \'截止日期\'")("内容")).Year
msgbox(y)
  nms.Add(y)
msgbox(nms.count)
Next

在橙色部分提示错误,什么原因?


--  作者:kaituozhe
--  发布时间:2016/2/21 23:51:00
--  
找到原因了