Foxtable(狐表)用户栏目专家坐堂 → [讨论]程序不执行


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

主题:[讨论]程序不执行

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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
[讨论]程序不执行  发帖心情 Post By: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
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/14 9:43:00 [只看该作者]

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

 

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


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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2015/7/14 9:58:00 [只看该作者]

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

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

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

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

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By: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

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/15 17:05:00 [只看该作者]

 回复5楼,不能执行,做个例子上来测试。

 回到顶部