以文本方式查看主题

-  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=191466)

--  作者:yifan3429
--  发布时间:2024/4/19 0:33:00
--  求助列动态单价

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20240419003059.png
图片点击可在新窗口打开查看
求助列动态单价 根据多项列 判断 单价结果
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报价表横向计算.foxdb


--  作者:有点蓝
--  发布时间:2024/4/19 8:44:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报价表横向计算.zip


--  作者:yifan3429
--  发布时间:2024/4/19 8:59:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20240419085804.png
图片点击可在新窗口打开查看

老师早 我是要从产品库获取价格到报价表 例如产品  型号 有多个规格  单价根据 
型号对应的规格获取

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20240419085817.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2024/4/19 8:59:06编辑过]

--  作者:有点蓝
--  发布时间:2024/4/19 9:13:00
--  
那样更简单啊,按型号查询,然后把规格的值作为列名取单价即可
--  作者:yifan3429
--  发布时间:2024/4/19 11:33:00
--  
就是没搞通,需要老师指点
row会搞       col搞了没搞好
[此贴子已经被作者于2024/4/19 11:34:42编辑过]

--  作者:有点蓝
--  发布时间:2024/4/19 11:48:00
--  
写了什么代码,发上来看看
--  作者:yifan3429
--  发布时间:2024/4/19 11:54:00
--  
Select Case e.DataCol.Name 
    Case "型号" , "规格"
        e.DataRow("单价") = Tables("产品库").Cols("型号") = e.DataRow("型号") And Tables("产品库").Cols("型号") = e.DataRow("型号")
End Select

--  作者:有点蓝
--  发布时间:2024/4/19 12:05:00
--  
参考2楼的用法,使用find查询
--  作者:yifan3429
--  发布时间:2024/4/19 12:31:00
--  
Select Case e.DataCol.Name 
    Case "型号" , "规格" 
        Dim dr As DataRow
        For Each dc As DataCol In e.DataTable.DataCols 
            dr = DataTables("产品库").Find("型号=\'" & e.NewValue & "\' and  \'" & e.DataRow("规格") & "\'= \'" & dc.Name & "\'")
            If dr IsNot Nothing Then
                e.DataRow("单价") = dr("单价") 
            End If 
        Next 
End Select

还是不行

--  作者:有点蓝
--  发布时间:2024/4/19 13:30:00
--  
Select Case e.DataCol.Name 
    Case "型号" , "规格" 
        Dim dr As DataRow
            dr = DataTables("产品库").Find("型号=\'" & e.NewValue & "\'")
            If dr IsNot Nothing Then
                e.DataRow("单价") = dr(e.DataRow("规格")) 
            End If 
End Select