Foxtable(狐表)用户栏目专家坐堂 → 数据提取问题


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

主题:数据提取问题

帅哥,在线噢!
有点蓝
  111楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106645 积分:542402 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/20 11:37:00 [只看该作者]

给了帮助都不看不用,既然基础不好,就多按帮助的用法使用

Dim Filter As String
With
 e.Form.Controls("CheckedComboBox1")
    
If .Value IsNot Nothing Then
        Filter = 
"年级 in ('" & .Value.replace(",", "','") & "'"
    
End If
End
 With
With
 e.Form.Controls("CheckedComboBox2")
    
If .Value IsNot Nothing Then
        
If Filter > "" Then
            Filter = Filter & 
" And "
        
End If
        Filter = Filter & 
"班级 in ('" & .Value.replace(",", "','") & "')"
    
End If
End
 With
……
For Each dr1 As DataRow In DataTables("表A").select(Filter)

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


加好友 发短信
等级:三尾狐 帖子:635 积分:4657 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/4/20 12:19:00 [只看该作者]

蓝老师,我这是做的水平表转为垂直表,帮助是所有行,全部科目进行整体转换。我这个代码套用帮助的代码,实现部分行,部分科目,由水平表转为垂直表的效果。

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


加好友 发短信
等级:三尾狐 帖子:635 积分:4657 威望:0 精华:0 注册:2016/4/15 22:24:00
中文小写转换阿拉伯数字格式的问题  发帖心情 Post By:2024/5/16 16:40:00 [只看该作者]

'将阿拉伯数字转换为中文小写格式,下列代码非常完美
Select Case e.DataCol.name
    Case "要转换的阿拉伯数字"
        If e.DataRow.IsNull("要转换的阿拉伯数字") Then
            e.DataRow("自动转换为中文小写") = Nothing           
        Else
            Dim dr As String = e.DataRow("要转换的阿拉伯数字") '要转换的阿拉伯数字。
           e.DataRow("自动转换为中文小写") = CLNum(dr) '输出为:一二三
        End If
End Select

如果反过来,将中文小写转换为阿拉伯数字格式,下列代码如何修改
Select Case e.DataCol.name
    Case "要转换的中文小写"
        If e.DataRow.IsNull("要转换的中文小写") Then
            e.DataRow("自动转换为阿拉伯数字") = Nothing           
        Else
            Dim dr As String = e.DataRow("要转换的中文小写") '要转换的阿拉伯数字。
           e.DataRow("自动转换为阿拉伯数字") = 
        End If
End Select

想要的结果:一转换为:1;二转换为:2;三转换为:3;四转换为:4;...十一转换为:11;十二转换为:12;... 二十一转换为:21;二十二转换为:22;...
请问老师有没最简洁的办法,比如用一个函数解决
[此贴子已经被作者于2024/5/16 17:42:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:106645 积分:542402 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/16 17:42:00 [只看该作者]

要自己做函数转换

转换函数
Dim chineseNumber As String = Args(0)
Dim chineseNums As New Dictionary( Of String, Integer)
chineseNums.Add("零", 0)
chineseNums.Add("一", 1)
chineseNums.Add("二", 2)
chineseNums.Add("三", 3)
chineseNums.Add("四", 4)
chineseNums.Add("五", 5)
chineseNums.Add("六", 6)
chineseNums.Add("七", 7)
chineseNums.Add("八", 8)
chineseNums.Add("九", 9)

Dim Num2 As New Dictionary( Of String, Integer)
Num2.Add("十", 10)
Num2.Add("百", 100)
Num2.Add("千", 1000)
Num2.Add("万", 10000)

Dim result As Integer = 0
Dim temp As Integer = 1
Dim count As Integer = 1
For i As Integer = chineseNumber.Length - 1 To 0 Step - 1
    Dim c As String = chineseNumber(i)
    Output.Show("i = " & i & ",-----,c = " & c)
    If chineseNums.Containskey(c) Then
        result += (chineseNums(c) * temp)
        temp = 1
        Output.Show("++result=" & result)
    ElseIf Num2.Containskey(c) Then
        temp = temp * Num2(c) * count
        If c = "万" Then
            count = 10000
        End If
        Output.Show("**temp = " & Num2(c) & ", result = " & result)
    End If
Next
Return result

调用
Dim chineseNumber As String = "五千零七十八"
Dim arabicNumber As Integer = Functions.Execute("转换", chineseNumber)
Output.Show(arabicNumber)

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


加好友 发短信
等级:三尾狐 帖子:635 积分:4657 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/5/16 17:44:00 [只看该作者]

太麻烦了

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


加好友 发短信
等级:三尾狐 帖子:635 积分:4657 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/5/16 17:46:00 [只看该作者]

谢谢老师,我试试看

 回到顶部
总数 116 1.. 上一页 3 4 5 6 7 8 9 10 11 12