Foxtable(狐表)用户栏目专家坐堂 → 这样的比对结果如何才能实现


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

主题:这样的比对结果如何才能实现

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


加好友 发短信
等级:小狐 帖子:377 积分:3244 威望:0 精华:0 注册:2018/3/15 16:46:00
这样的比对结果如何才能实现  发帖心情 Post By:2022/6/29 9:08:00 [只看该作者]

老师您好!我有一个表,表中有一个配方列。我想对几个配方进行对比,然后用两个临时列比对结果,该怎样实现?
比如我有三个配方别是:
配方一:苹果9g,香蕉9g,西瓜6g,葡萄6g
配方二:橘子9g,苹果6g,芒果6g,西瓜3g
配方三:牛奶12g,橘子9g,苹果6g,西瓜9g,葡萄6g,芝士6g
比对结果分为两列,以第一个配方为基础
第一列配方二后面为 苹果少3克,西瓜少3克
         配方三后面为 苹果少3克,西瓜多3克
第二列配方二后面为 没有香蕉,葡萄,多橘子,芒果
         配方三后面为 没有香蕉,多牛奶,橘子,芝士
请问如何才能实现?

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


加好友 发短信
等级:狐神 帖子:4773 积分:34673 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2022/6/29 9:17:00 [只看该作者]

上项目文件

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111420 积分:567176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/29 9:38:00 [只看该作者]

Dim s1 As String = "苹果9g,香蕉9g,西瓜6g,葡萄6g"
Dim s2 As String = "橘子9g,苹果6g,芒果6g,西瓜9g"

Dim p As String = "[\u4e00-\u9fa5]"

Dim str As String = ""

For Each s As String In s1.Split(",")
    Dim g As String = System.Text.RegularExpressions.Regex.Replace(s , p , "")
    Dim n As String = s.Replace(g, "")
    If s2.Contains(n) Then
        For Each m As String In s2.Split(",")
            If m.Contains(n) Then
                Dim g2 As String = System.Text.RegularExpressions.Regex.Replace(m , p , "")
                Dim k1 As String = Val(g)
                Dim k2 As String = Val(g2)
                If k1 <> k2 Then
                    str = str & "," & n & IIf(k1 > k2, "少", "多") & Math.Abs(k1 - k2) & "克"
                End If 
            End If 
        Next 
    End If 
Next
str = str.Trim(",")
Output.Show(str)

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


加好友 发短信
等级:小狐 帖子:377 积分:3244 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2022/6/29 18:46:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

实现不了,请求帮助

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111420 积分:567176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/30 8:53:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


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


加好友 发短信
等级:小狐 帖子:377 积分:3244 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2022/6/30 19:26:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

老师!后面的成分对比还要帮我搞定一下

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111420 积分:567176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/30 20:42:00 [只看该作者]

成分对比和数量对比有什么区别?按什么规则计算?

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


加好友 发短信
等级:小狐 帖子:377 积分:3244 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2022/6/30 21:16:00 [只看该作者]

成分对比是对比两个配方的材料,比如配方一有苹果,而配方三没有苹果,但多了芝士。这个没有的和多的材料要显示在成分对比列

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111420 积分:567176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/30 22:04:00 [只看该作者]

Dim s1 As String = "苹果2克,芒果9克,葡萄9克"


Dim p As String = "[\u4e00-\u9fa5]"

For Each r As Row In Tables("配方表").rows
    Dim str As String = ""
    Dim str2 As String = ""
    Dim lst As New List(Of String)
    Dim lst2 As New List(Of String)
    Dim cf As Boolean = False
    For Each s As String In s1.Split(",")
        Dim g As String = System.Text.RegularExpressions.Regex.Replace(s , p , "")
        Output.Show(g)
        Dim n As String = s.Replace(g, "").Replace("克", "")
        Dim k1 As String = Val(g)
        Output.Show("n--------" & n & ",k1=" & k1)
        If r("成分").Contains(n) Then
            lst.Add(n)
            For Each m As String In r("成分").Split(",")
                Output.Show("m=" & M)
                Dim g2 As String = System.Text.RegularExpressions.Regex.Replace(m , p , "")
                If cf = False Then
                    lst2.Add(m.Replace(g2, "").Replace("克", ""))
                End If
                If m.Contains(n) Then
                    Dim k2 As String = Val(g2)
                    Output.Show("--g2=" & g2 & ",k2=" & k2)
                    If k1 <> k2 Then
                        str = str & "," & n & IIf(k1 > k2, "少", "多") & Math.Abs(k1 - k2) & "克"
                        Output.Show("str=" & str)
                    End If 
                End If 
            Next
            cf = True
        Else
            str2 = str2 & ",少了" & n 
        End If
    Next
    str = str.Trim(",")
    For Each a As String In lst2
        If lst.Contains(a) = False Then
            str2 = str2 & ",多了" & a
        End If 
    Next
    r("数量对比") = str
    r("成分对比") = str2
Next

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


加好友 发短信
等级:小狐 帖子:377 积分:3244 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2022/7/1 22:14:00 [只看该作者]

以下是引用有点蓝在2022/6/30 22:04:00的发言:
Dim s1 As String = "苹果2克,芒果9克,葡萄9克"


Dim p As String = "[\u4e00-\u9fa5]"

For Each r As Row In Tables("配方表").rows
    Dim str As String = ""
    Dim str2 As String = ""
    Dim lst As New List(Of String)
    Dim lst2 As New List(Of String)
    Dim cf As Boolean = False
    For Each s As String In s1.Split(",")
        Dim g As String = System.Text.RegularExpressions.Regex.Replace(s , p , "")
        Output.Show(g)
        Dim n As String = s.Replace(g, "").Replace("克", "")
        Dim k1 As String = Val(g)
        Output.Show("n--------" & n & ",k1=" & k1)
        If r("成分").Contains(n) Then
            lst.Add(n)
            For Each m As String In r("成分").Split(",")
                Output.Show("m=" & M)
                Dim g2 As String = System.Text.RegularExpressions.Regex.Replace(m , p , "")
                If cf = False Then
                    lst2.Add(m.Replace(g2, "").Replace("克", ""))
                End If
                If m.Contains(n) Then
                    Dim k2 As String = Val(g2)
                    Output.Show("--g2=" & g2 & ",k2=" & k2)
                    If k1 <> k2 Then
                        str = str & "," & n & IIf(k1 > k2, "少", "多") & Math.Abs(k1 - k2) & "克"
                        Output.Show("str=" & str)
                    End If 
                End If 
            Next
            cf = True
        Else
            str2 = str2 & ",少了" & n 
        End If
    Next
    str = str.Trim(",")
    For Each a As String In lst2
        If lst.Contains(a) = False Then
            str2 = str2 & ",多了" & a
        End If 
    Next
    r("数量对比") = str
    r("成分对比") = str2
Next

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:中医学习.rar


真实项目是这个,但是在方剂对比窗口的方剂对比按钮,结果还是不对,希望版主能够帮我改正一下。

 回到顶部
总数 13 1 2 下一页