Foxtable(狐表)用户栏目专家坐堂 → 又来了


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

主题:又来了

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


加好友 发短信
等级:小狐 帖子:392 积分:2927 威望:0 精华:0 注册:2020/1/22 20:48:00
又来了  发帖心情 Post By:2021/6/3 16:09:00 [只看该作者]

大师:请问
一、表的筛选语句最大长度限制是多少?第二种筛选语句,超过一定长度,就出错,退出!
二、如果换成第一种语句,新版本的第一个筛选语句比老版本执行的时间长多了,筛选时间比加载数据还长,劳驾解释一下!
三、jh.count 才2350个左右,表的中行数35000行左右,这才是一般企业的凭证数据,上市公司一般都有几十万,分月加载正常也要几万,分项目或科目加载也很多。


Dim jh As new List(of String)
jh = pztb.GetValues("pzzb142")


筛选语句1:

Dim Parts() As String
Parts = jh.ToArray
Dim Str1 As String
Str1 = "'" & String.Join("','", Parts) & "'"

Dim filter As String = " pzzb142 in (" & Str1 & ")"

MessageBox.Show(2)



筛选语句2:
'Dim filter As String
'For Each a As String In jh                                           '------筛选字符串后转条件表达式
    'If filter = "" Then
        'filter = " pzzb142 = '" & a & "'"
    'Else
        'filter = filter & " or pzzb142 = '" & a & "'"
    'End If
    '
'Next



Dim tb5 As WinForm.Table = Forms("frmBbFxMain").Controls("Table22")
tb5.Table.StopRedraw
tb5.Table.Filter = filter


tb5.Table.ResumeRedraw



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


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

1、条件长度应该是有限制的,具体多少不清楚,可能要咨询一下葡萄城
2、3:筛选比加载慢是有可能的,具体看处理的数据量,已经表事件,表达式计算等。可以考虑减少处理的数据量。

 回到顶部