以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133759) |
||||
-- 作者:圣权 -- 发布时间:2019/4/19 17:25:00 -- [求助] 有这样一个字典组,Dim xzbjs As New Dictionary(Of String,Double) 请问如何获取字典中的最大值和它对应的键??? |
||||
-- 作者:有点甜 -- 发布时间:2019/4/19 17:38:00 -- 比较麻烦,如
Dim zd As New Dictionary(Of String, Integer) Dim mval As Double = 0 msgbox(mkey & " " & mval) |
||||
-- 作者:圣权 -- 发布时间:2019/4/28 13:28:00 -- \'计算每个供应商的小宗商品总金额,并将“供应商,总金额”的组合添加到字典 Dim xzbjs As New Dictionary(Of String,Double) Dim gyss As New List(Of String) gyss = DataTables("报价表").GetValues("供应商") Dim sum As Double For Each gys As String In gyss sum = DataTables("报价表").Compute("sum(金额)","菜品属性 = \'小宗\'and 供应商 = \'gys\'") xzbjs.Add(gys,sum) Next \'比较各供应商的总金额,并找出总金额最低的供应商 Dim mval As Double = 0 Dim mkey As String = "" For Each key As String In xzbjs.Keys If xzbjs(key) > mval Then mval = xzbjs(key) mkey = key End If Next ‘将总金额最低的供应商对应的商品报价信息复制到一个新的表格中 Dim xzsps As List(Of String) xzsps = DataTables("报价表").GetValues("菜品编号","菜品属性 = \'小宗\' and 供应商 = \'mkey\'") For Each xzsp As String In xzsps Dim dr As DataRow = DataTables("报价表").Find("菜品编号 = xzsp and 菜品属性 = \'小宗\' And 供应商 = mkey") Dim bjdr As DataRow = DataTables("比价表").AddNew() bjdr("日期") = dr("日期") bjdr("菜品编码") = dr("菜品编码") bjdr("菜品名称") = dr("菜品名称") bjdr("品类") = dr("品类") bjdr("单位") = dr("单位") bjdr("规格") = dr("规格") bjdr("数量") = dr("数量") bjdr("单价") = dr("单价") bjdr("金额") = dr("金额") bjdr("供应商") = dr("供应商") bjdr("菜品属性") = dr("菜品属性") Next 请问老师 上述代码 哪里出错了吗 试了好久都没有找出问题??? |
||||
-- 作者:有点甜 -- 发布时间:2019/4/28 14:40:00 -- 比如
xzsps = DataTables("报价表").GetValues("菜品编号","菜品属性 = \'小宗\' and 供应商 = \'" & mkey & "\'")
http://www.foxtable.com/webhelp/scr/1284.htm
|
||||
-- 作者:圣权 -- 发布时间:2019/4/28 17:22:00 -- 此主题相关图片如下:360截图20190428171854673.jpg 老师,您好 上面编写的代码总是出现这种报错,这是回事呀???
|
||||
-- 作者:圣权 -- 发布时间:2019/4/28 17:24:00 -- 还要请问老师如何获取字典中的最小值,以及其对应的键??? |
||||
-- 作者:有点甜 -- 发布时间:2019/4/28 17:28:00 -- 请具体做一个实例发上来,说明你要做的功能。 |
||||
-- 作者:圣权 -- 发布时间:2019/4/28 19:46:00 --
老师 这是我做的实例 |
||||
-- 作者:圣权 -- 发布时间:2019/4/28 19:49:00 -- 此主题相关图片如下:供应商报价.png 老师,我需要从报价表中根据 金额 列 筛选出每个商品报价最低的供应商 并把该行的全部信息复制到 比价表 中 |
||||
-- 作者:有点甜 -- 发布时间:2019/4/29 11:37:00 -- Dim xzsps As List(Of String) xzsps = DataTables("报价表").GetValues("菜品编号","菜品属性 = \'小宗\'") For Each xzsp As String In xzsps Dim dr As DataRow = DataTables("报价表").Find("菜品编号 = \'" & xzsp & "\' And 菜品属性 = \'小宗\'", "金额") Dim bjdr As DataRow = DataTables("比价表").AddNew() bjdr("日期") = dr("日期") bjdr("菜品编号") = dr("菜品编号") bjdr("菜品名称") = dr("菜品名称") bjdr("品类") = dr("品类") bjdr("单位") = dr("单位") bjdr("规格") = dr("规格") bjdr("数量") = dr("数量") bjdr("单价") = dr("单价") bjdr("金额") = dr("金额") bjdr("供应商") = dr("供应商") bjdr("菜品属性") = dr("菜品属性") Next |