Foxtable(狐表)用户栏目专家坐堂 → 读取文本数据第一行生成临时表,并写入文本数据行到临时表,文本数据行写入项目 但是行的值不写入 有没有办法修正呢?


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

主题:读取文本数据第一行生成临时表,并写入文本数据行到临时表,文本数据行写入项目 但是行的值不写入 有没有办法修正呢?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 8:40:00 [显示全部帖子]

        For i1 As Integer = 0 To math.min(cs.Length-1, Tables("统计").cols.count - 1)
            If cs.Length = Tables("统计").cols.count Then
                
                Dim bb As String=r(i1).trim()
                If bb > "" Then
                    If bb.Contains("时间") Then

                    Dim d As Date = cdate(bb)
                        r("日期")= Format(d, "yyyy-MM-dd")

                        r(i1) = cs(i1)
                    End If
                End If

            End If
        Next


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 10:38:00 [显示全部帖子]

            If cs.Length = Tables("统计").cols.count Then
               
Dim bb As String=cs(i1).trim()
                If bb > "" Then
                    If bb.Contains("时间") Then
                        Dim d As Date = cdate(bb)
                        r("日期")= Format(d, "yyyy-MM-dd")
else
                        r(i1) = cs(i1)
                    End If
                End If
               
            End If

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 11:22:00 [显示全部帖子]

请把数据文件发上来测试

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 13:51:00 [显示全部帖子]

Dim  dlg As  new  OpenFileDialog
dlg.Filter =  "文本文件|*.txt"
'Tables("统计").StopRedraw
If  dlg.ShowDialog =  DialogResult.OK Then
    If DataTables.Contains("统计")  Then '如果表C已经加载
        DataTables.Unload("统计") '卸载表C
    End If
   
    Dim Multi As String
    Dim  strs As  String =  FileSys.ReadAllText(dlg.FileName, Encoding.Default)
    Dim Values11() As String =  strs.Replace(vbcr,"").split(vblf)
    For  i1 As  Integer =  0 To  0
        Dim  rs As  String =  Values11(0)
        For  i As  Integer =  0 To  0
            Dim  cs() As  String =  rs.Split(vbtab)
            output.Show(cs(0))
            Multi = cs(0)
        Next
    Next
   
    Dim Values() As String
    Values = Multi.split("|")
    Dim dtb As New DataTableBuilder("统计")
    For Index As Integer = 0 To Values.Length - 1
        Output.Show(Values(Index))
        If Values(Index).Contains("时间") OrElse Values(Index).Contains("日期")  Then
            dtb.AddDef("日期", Gettype(Date))
        End If
        dtb.AddDef(Values(Index), Gettype(String), 255)  
    Next
    dtb.Build()
   
    For i As Integer = 1 To Values11.length - 1
        Dim cs() As String = Values11(i).split("|")
        Dim r As Row = Tables("统计").Addnew()
        output.show(cs.Length-1)
        For i1 As Integer = 0 To math.min(cs.Length-1, Tables("统计").cols.count - 1)
                Dim bb As String=cs(i1).trim()
                If bb > "" Then
                    If Values(i1).Contains("时间") OrElse Values(i1).Contains("日期") Then
                        Dim d As Date = cdate(bb)
                        r("日期")= Format(d, "yyyy-MM-dd")
                    Else
                        r(i1) = cs(i1)
                    End If
                End If 
        Next
    Next
End If
'Tables("统计").ResumeRedraw

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 14:21:00 [显示全部帖子]

多增加了一个列

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 15:31:00 [显示全部帖子]

和这个代码无关。建表的代码有问题,多建了一个日期列

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 15:50:00 [显示全部帖子]

那么建议把日期列放到最后再添加,不要放到中间

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 17:00:00 [显示全部帖子]

              Dim bb As String=cs(i1).trim()
                If bb > "" Then
                    If Values(i1).Contains("时间") Then
                        Dim d As Date = cdate(bb)
                        r("日期")= Format(d, "yyyy-MM-dd")
                    End If
                        r(i1) = cs(i1)
                End If 

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 17:26:00 [显示全部帖子]

仔细看16楼

 回到顶部