以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码纠错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175579)

--  作者:lisangyu
--  发布时间:2022/3/10 13:13:00
--  代码纠错
Tables("试题").StopRedraw
Tables("试题").Filter = ""
Tables("试题").Sort = ""
For i As Integer = 0 To Tables("试题").rows.count -1
    Tables("试题").Rows(i)("随机值") = Rand.Next(10000)
Next \'排随机值
For Each dr As DataRow In DataTables("试题").DataRows
    dr("信息") = Nothing
    dr("序号") = Nothing
Next \'清空指定列的数据
Dim fls As List(Of String) = DataTables("试题").GetUniqueValues("","分类")
Dim txs As List(Of String) = DataTables("试题").GetUniqueValues("","题型")
For Each fl As String In fls
For Each tx As String In txs
    \'获得该分类的全部行
    Dim drs As List(Of DataRow) = DataTables("试题").Select("[分类] = \'" & fl & "\'" And "[题型] = \'" & tx & "\'", "随机值")
    For n As Integer = 0 To drs.Count - 1 \'遍历所有行
        drs(n)("序号") = n + 1 \'编号排序
    Next
Next
Next
Dim Str As String
For Each fl As String In fls
For Each tx As String In txs
    Dim dr As DataRow = DataTables("组题方式").Find("[模块] = \'" & fl & "\'" And "[题型] = \'" & tx & "\'")
    \'组合字符串
    str = str & " or [分类] = \'" & fl & "\' And [组题] <= " & dr(Vars("考试类别"))*100
Next \'筛选
Next
Tables("试题").Filter = str.SubString(4)
Tables("试题").Sort = "随机值,题型"
For i As Integer = 0 To Tables("试题").rows.count -1
    Tables("试题").Rows(i)("序号") = i + 1
Next \'对序号我按筛选行的顺序赋值
Tables("试题").ResumeRedraw


蓝总:内部函数运行时报错

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20220310124005.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2022/3/10 13:46:00
--  
如果还是理解不了,考虑使用这种方式:http://www.foxtable.com/webhelp/topics/2919.htm

Dim drs As List(Of DataRow) = DataTables("试题").Select("[分类] = \'" & fl & "\' And [题型] = \'" & tx & "\'", "随机值")