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


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

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

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


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
从2个表上读取数据,出现 不能传递数据的错误  发帖心情 Post By:2013/1/4 11:26:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2012-10-15.txt

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

增加了从1个表上查找后 出错, 麻烦老师帮下忙 看下附件.


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2013/1/4 13:08:00 [只看该作者]

哦  明白了  原来   is nothing 是这么用的

学到了.

多谢  林老师 ,下次再做 会注意了


 回到顶部