Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
[求助]  发帖心情 Post By:2019/4/19 17:25:00 [显示全部帖子]

有这样一个字典组,Dim xzbjs As New Dictionary(Of String,Double)
请问如何获取字典中的最大值和它对应的键???



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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By: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


请问老师 上述代码 哪里出错了吗  试了好久都没有找出问题???


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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By:2019/4/28 17:22:00 [显示全部帖子]


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

老师,您好 上面编写的代码总是出现这种报错,这是回事呀???

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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By:2019/4/28 17:24:00 [显示全部帖子]

还要请问老师如何获取字典中的最小值,以及其对应的键???

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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By:2019/4/28 19:46:00 [显示全部帖子]




 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:供应商比价系统.foxdb

老师 这是我做的实例











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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By:2019/4/28 19:49:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:供应商报价.png
图片点击可在新窗口打开查看

老师,我需要从报价表中根据  金额  列  筛选出每个商品报价最低的供应商  并把该行的全部信息复制到 比价表   中   



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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By:2019/5/6 16:35:00 [显示全部帖子]

老师:
        您好,我想在报价表为不同分组加载不同的数据(日期都是最近7天的,但分组为供应商的用户只能加载 [供应商] =用户名 的数据),
 在AfterOpenProject中编写下面的代码 :
 

For Each dt As DataTable In DataTables
    Dim StartDate As Date = Date.Today().AddDays(-7)
    If dt.Name = "报价表" Then
        Select Case User.Group
            Case "供应商"
                dt.LoadFilter = "[日期] > #" & StartDate & "# and 供应商 = '" & User.Name & "'"
                Forms("供应商导航栏").Open()
                MainTable = Tables("原始报价表")
            Case "管理员","开发者"
                dt.LoadFilter = "[日期] > #" & StartDate & "# "
                Forms("导航栏").Open()
                MainTable = Tables("原始采购单")
        End Select
    Else
        dt.LoadFilter = ""
    End If
    dt.Load()
Next


总是出现这种报错,请问是代码哪里出错了吗???


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



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


加好友 发短信
等级:婴狐 帖子:43 积分:364 威望:0 精华:0 注册:2018/10/10 13:21:00
  发帖心情 Post By:2019/5/6 16:59:00 [显示全部帖子]

好的  老师 谢谢您了

 回到顶部