以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  拼音简码取值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142887)

--  作者:outcat
--  发布时间:2019/11/8 10:41:00
--  拼音简码取值
If e.DataCol.Name = "费用名称" Then
            If e.DataRow.IsNull("费用名称") Then
                e.DataRow("简码")=Nothing
            Else
                Dim dr As DataRow
                dr = DataTables("多音字简码").sqlFind("[多音字] = \'" & e.NewValue & "\'" )
                If dr IsNot Nothing Then
                    Dim r As String
                    Dim r1 As Row = Tables("费用明细表").Current("费用名称")
                    If r1> "" AndAlso r1.Contains("r") Then
                        r1("简码")= dr("简码")
                    Else
                        e.DataRow("简码")=GetPy(e.NewValue,True)
                    End If
                End If
            End If
        End If

老师,我建了一个表,要实现,输入 一个费用名称,假如 费用名称 中有的 字,则在 这个新建表中 取正确的  简码 值,如果一个字 在新建表中都没有,则通过函数取值,现在红色部分 这段代码一直写不成功,请老师帮忙

--  作者:有点蓝
--  发布时间:2019/11/8 10:56:00
--  
If e.DataRow.IsNull("费用名称") Then
    e.DataRow("简码")=Nothing
Else
    Dim dr As DataRow
    dr = DataTables("多音字简码").sqlFind("[多音字] = \'" & e.NewValue & "\'" )
    If dr IsNot Nothing Then
        e.DataRow("简码")= dr("简码")
    Else
        e.DataRow("简码")=GetPy(e.NewValue,True)
    End If
End If


--  作者:outcat
--  发布时间:2019/11/8 11:09:00
--  
老师,我不是要这个结果,这个结果我刚开始的代码就是这样写的,可现在情况时,我这个 多音字简码  表 收集的是 一个一个的字,比如  青 门  餐,这样生成的简码 是错误的,我把生成错误 的字的简码 手动填入这个表的,希望下次用的时候,再遇到这个字,从这个新建表中取 正确的简码

这个情况只能是 输入 青 门 餐 这样一个字的时候,是从新建表中取得值,可比如  输入 一个  餐饮费   这样 就不从 新建表中取值了,生成的 简码就错了



--  作者:有点蓝
--  发布时间:2019/11/8 11:16:00
--  
没看懂。表数据截图举例详细说明一下
--  作者:outcat
--  发布时间:2019/11/8 11:42:00
--  
不好意义,不能上传附件了,我手动给你弄吧

多音字简码表

1、多音字  简码
青        Q
   Q
菜        C

 2、正确的例子  

费用类别    蔬菜
费用名称     青
简码           Q

3、错误的例子
费用类别    蔬菜
费用名称     青菜
简码           RB

当输入的名称是一个字的时候,从新建表中取值正确, 但当输入具体的名称时又不是 一个字,这样在新建表中就找不到了,然后生成了一个错误的值


--  作者:有点蓝
--  发布时间:2019/11/8 13:34:00
--  
换种方式使用:http://www.foxtable.com/webhelp/topics/3279.htm

Output.Show(PY.GetPY("青菜",True,3))