以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请大神帮忙看下  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130498)

--  作者:ye8573
--  发布时间:2019/1/23 16:42:00
--  [求助]请大神帮忙看下
请大神帮忙看下
“零星维修表”表格中有成本总金额,表达式为
isnull([成本_人工],0)*230+isnull([成本_住宿],0)+isnull([成本_路工],0)*230+isnull([成本_车船],0)+isnull([成本_材料],0)+isnull([成本_其他],0)
其中230为人工单价
现在由于人工单价每个人不一样,我新建了一个“人工单价表”,将每个人的单价输在里面,能不能将表达式修改为根据维修表里结算抬头的人名不同,自动调用人工单价表里对应人名的人工单价?

--  作者:有点甜
--  发布时间:2019/1/23 17:57:00
--  

方法一:设置关联,父表->工人单价,子表->维修表,然后直接引用父表数据

 

http://www.foxtable.com/webhelp/scr/0091.htm

 

http://www.foxtable.com/webhelp/scr/0106.htm

 

方法二:写代码,直接跨表引用

 

http://www.foxtable.com/webhelp/scr/1451.htm

 

 


--  作者:ye8573
--  发布时间:2019/1/24 8:48:00
--  
If e.DataCol.Name = "结算抬头" Then \'如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
        e.
DataRow("人工单价") = Nothing \'那么清空此行单价列的内容
    
Else
        Dim
 dr As DataRow
        dr = 
DataTables("人工单价表").Find("[人工单价] = \'" & e.NewValue & "\'")
        If
 dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            e.
DataRow("人工单价") = dr("人工单价"
        End
 If
    End
 If
End
 If
版主,还要再请教下。由于人工单价每年都会有变化,现在想在人工单价表里将每年的人工单价分别列出,如“人工单价_2018”“人工单价_2019”,然后根据“零星维修表”中编号(格式为“LX201801-001)中的年份,在“人工单价”列自动获取对应年份的单价,请问代码应该怎么写?请版主帮忙图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2019/1/24 9:14:00
--  


If e.DataCol.Name = "结算抬头" Then \'如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
        e.DataRow("人工单价") = Nothing \'那么清空此行单价列的内容
    Else
        Dim dr As DataRow
        dr = DataTables("人工单价表").Find("[姓名] = \'" & e.DataRow("结算抬头") & "\'")
        If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            For Each dc As DataCol In DataTables("人工单价表").DataCols
                If dc.name.StartsWith("人工单价_") Then
                    Dim y = dc.name.Split("_")(1)
                    If e.DataRow("编号").contains(y) Then
                        e.DataRow("人工单价") = dr(dc.name)
                    End If
                End If
            Next
        End If
    end if
End If

 

[此贴子已经被作者于2019/1/24 9:15:00编辑过]