以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自动输入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96561)

--  作者:苏州老街
--  发布时间:2017/2/23 11:41:00
--  [求助]自动输入
老师,怎样在目录树表有空的行或空的单元格下同样还能自动输入。


If e.DataCol.Name = "一级明细" OrElse e.DataCol.Name = "二级明细" Then
    Dim dr As DataRow = e.DataRow
    Dim sr As DataRow 
    sr = DataTables("目录树").SQLFind("[目录类别] = \'" & dr("一级明细") & "\' And [目录名称] = \'" & dr("二级明细") & "\'") \'在后台查找符合条件的行
    If sr IsNot Nothing Then \'如果找到了符合条件的行
        dr("规格") = sr("规格型号")
        dr("单位") = sr("单位")
    Else
        dr("规格") = Nothing
        dr("单位") = Nothing
    End If
End If



--  作者:有点色
--  发布时间:2017/2/23 11:58:00
--  
If e.DataCol.Name = "一级明细" OrElse e.DataCol.Name = "二级明细" Then
    Dim dr As DataRow = e.DataRow
    Dim filter As String = "1=1"
    If dr.IsNull("一级明细") = False Then
        filter &= " and [目录类别] = \'" & dr("一级明细") & "\'"
    Else
        filter &= " and [目录类别] is null"
    End If
    If dr.IsNull("二级明细") = False Then
        filter &= " and [目录名称] = \'" & dr("二级明细") & "\'"
    Else
        filter &= " and [目录名称] is null"
    End If
    Dim sr As DataRow
    sr = DataTables("目录树").SQLFind(filter) \'在后台查找符合条件的行
    If sr IsNot Nothing Then \'如果找到了符合条件的行
        dr("规格") = sr("规格型号")
        dr("单位") = sr("单位")
    Else
        dr("规格") = Nothing
        dr("单位") = Nothing
    End If
End If

--  作者:苏州老街
--  发布时间:2017/2/23 14:28:00
--  
老师,用上面代码还是不行。
下面是外部数据表

图片点击可在新窗口打开查看此主题相关图片如下:图像 1.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/2/23 14:36:00
--  
If e.DataCol.Name = "一级明细" OrElse e.DataCol.Name = "二级明细" Then
    Dim dr As DataRow = e.DataRow
    Dim filter As String = "1=1"
    If dr.IsNull("一级明细") = False Then
        filter &= " and [目录类别] = \'" & dr("一级明细") & "\'"
    Else
        \'filter &= " and [目录类别] is null"
    End If
    If dr.IsNull("二级明细") = False Then
        filter &= " and [目录名称] = \'" & dr("二级明细") & "\'"
    Else
        \'filter &= " and [目录名称] is null"
    End If
    Dim sr As DataRow
    sr = DataTables("目录树").SQLFind(filter) \'在后台查找符合条件的行
    If sr IsNot Nothing Then \'如果找到了符合条件的行
        dr("规格") = sr("规格型号")
        dr("单位") = sr("单位")
    Else
        dr("规格") = Nothing
        dr("单位") = Nothing
    End If
End If

--  作者:苏州老街
--  发布时间:2017/2/23 15:44:00
--  
老师,还是不行。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar


--  作者:有点色
--  发布时间:2017/2/23 15:49:00
--  

If e.DataCol.Name = "一级明细" OrElse e.DataCol.Name = "二级明细" Then
    Dim dr As DataRow = e.DataRow
    Dim sr As DataRow
    sr = DataTables("目录树").SQLFind("[目录类别] = \'" & dr("一级明细") & "\' And [目录名称] = \'" & dr("二级明细") & "\' and 规格型号 is not null") \'在后台查找符合条件的行
    If sr IsNot Nothing Then \'如果找到了符合条件的行
        dr("规格") = sr("规格型号")
        dr("单位") = sr("单位")
    Else
        dr("规格") = Nothing
        dr("单位") = Nothing
    End If
End If