以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]程序不执行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=71567)

--  作者:260964006
--  发布时间:2015/7/14 9:38:00
--  [讨论]程序不执行

1、订单表通过"零件图号" 去价格表找零件名称,含税单价,供应商简称;合同编号表通过"供应商简称" 去供应商信息表找采购通则号和供应商代码。

    单独第一个可以执行,为什么加上一个就不行了呢?

If e.DataCol.Name = "零件图号" Then   \'订单零件名称,含税单价,供应商简称的来源
    Dim nms() As String = {"零件名称","A点含税单价更新后","供应商简称"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("价格表").Find("[零件图号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

If e.DataCol.Name = "供应商简称" Then   \'合同采购通则和供应商代码更新
    Dim nms() As String = {"供应商代码","合同编号_采购通则"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("供应商信息表").Find("[供应商简称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
2、我的供应商信息表需自己只能看见自己的的供应商,但是供应商是唯一的,采购员可能是多个。

 如下图附件,怎么通过登录用户与采购员列的名字比对,是就可以查看编辑呢?

 


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

--  作者:大红袍
--  发布时间:2015/7/14 9:43:00
--  

1、代码没有问题,肯定会触发两段代码的运行;

 

2、条件遮掩写  "采购员 = \'张三\' or 采购员 like \'张三、%\' or 采购员 Like \'%、张三、%\' or 采购员 like \'%、张三\'"


--  作者:260964006
--  发布时间:2015/7/14 9:58:00
--  

1、 原来只有订单的这个没有问题,现在订单操作供应商简称时 提示  调用的目标发生了异常。列“供应商代码”不属于表 采购订单。  

      合同编号表中带过来的编号都没有办法编辑。

2、用户有30个,你的第二条没有办法写啊?能具体点吗?

   采购员列我手工输入,通过登录的账号来比对此列就可以了。

3、列属性-列表项目-过滤条件,怎么设置不重复?


--  作者:大红袍
--  发布时间:2015/7/14 10:13:00
--  

1、提示 列“供应商代码”不属于表 采购订单,那这句代码就要改 Dim nms() As String = {"供应商代码","合同编号_采购通则"}

 

2、能不能灵活变通一下?"采购员 = \'" & user.name & "\' or 采购员 like \'" & user.name & "、%\' or 采购员 Like \'%、" & user.name & "、%\' or 采购员 like \'%、" & user.name & "\'"

 

3、不能设置重复,如果要设置,用代码弄 http://www.foxtable.com/help/topics/1457.htm

 


--  作者:260964006
--  发布时间:2015/7/15 16:43:00
--  

If e.DataTable.Name <> "采购订单"  AndAlso e.DataCol.Name = "零件图号" Then   \'订单零件名称,含税单价,供应商简称的来源
    Dim nms() As String = {"零件名称","A点_含税单价_更新后","A点_供应商简称"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("价格表").Find("[零件图号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If
If e.DataTable.Name <> "合同编号"  AndAlso e.DataCol.Name = "供应商简称" Then   \'订单零件名称,含税单价,供应商简称的来源
    Dim nms() As String = {"供应商代码","合同编号_采购通则"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("供应商信息表").Find("[供应商简称] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If

程序还是有问题,始终不能执行


--  作者:大红袍
--  发布时间:2015/7/15 17:05:00
--  
 回复5楼,不能执行,做个例子上来测试。