Foxtable(狐表)用户栏目专家坐堂 → 从2个表上读取数据,出现 不能传递数据的错误


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

主题:从2个表上读取数据,出现 不能传递数据的错误

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/4 12:03:00 [显示全部帖子]

 楼主,是因为在你的部品明细表里,没有对应的条码,查找不出对应的值,所以报错。

Dim t As Table = Tables("总表.子表")
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "文本文件|*.txt" '设置筛选器
If dlg.ShowDialog = DialogResult.OK Then
    Dim strs As String = FileSys.ReadAllText(dlg.FileName)
    strs = strs.Replace(vblf, "")
    Dim rs() As String = strs.Split(vbcr)
    For i As Integer = 0 To rs.Length - 1
        Dim cs() As String = rs(i).Split(",")
        If cs.Length = 4 Then
            Dim dr4 As Row = Tables("总表").Current
            Dim fdr As DataRow = t.DataTable.Find("条码 = '" & cs(1) & "' and 编号 = '" & dr4("编号") & "'")
            Dim dr3 As DataRow = DataTables("部品明细").Find("条码 = '" & cs(1) & "'")
            If dr3 IsNot Nothing Then
                If fdr Is Nothing Then
                    Dim r As Row = t.Addnew()
                    r("条码") = cs(1)
                    r("品番") = dr3("品番")
                    r("数量") = cs(2) * dr3("包装规格")
                Else
                    fdr("数量") = fdr("数量")   +  cs(2) * dr3("包装规格")
                End If
            End If
        End If
    Next
End If

 回到顶部