以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  随机行的问题。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52054)

--  作者:qianqian1530
--  发布时间:2014/6/8 10:46:00
--  随机行的问题。
怎么才能 随机 显示 当前表的 表的 10行 内容呢?


   

--  作者:有点甜
--  发布时间:2014/6/8 10:55:00
--  

 呃,随机显示?

 

 你先取得10个随机数。 Rand.Next(Tables("表A").Rows.Count-1) http://www.foxtable.com/help/topics/0349.htm

 

 然后设置filter = "_Identify in (1, 3, 5, 9, 10)"

 


--  作者:qianqian1530
--  发布时间:2014/6/8 11:15:00
--  回复:(有点甜) 呃,随机显示? &nbs...
    For  i = 1 To 10
        
        Sum+ =  "," & Rand.Next(Tables("Makeshop").rows.count) 

    Next

    Tables("Makeshop").filter = "_Identify in (\'Sum\')"


这样也不对啊..  那里错了呢..

--  作者:有点甜
--  发布时间:2014/6/8 11:19:00
--  

Dim count As Integer = Tables("Makeshop").rows.count
Dim idxs As String = ""
For i = 0 To count - 1
    If i =  10 Then
        Exit For
    End If
    idxs &= Rand.Next(count) & ","
Next


Tables("Makeshop").filter = "_Identify in (" & idxs.TrimEnd(",") & ")"


--  作者:qianqian1530
--  发布时间:2014/6/8 12:48:00
--  回复:(有点甜)Dim count As Integer = Tables("Mak...
甜甜, 你这个代码, 为什么 不固定呢?   有的时候会是 10个,偶尔 7,8 的,  不能一直固定10个么?
--  作者:有点甜
--  发布时间:2014/6/8 14:34:00
--  
以下是引用qianqian1530在2014-6-8 12:48:00的发言:
甜甜, 你这个代码, 为什么 不固定呢?   有的时候会是 10个,偶尔 7,8 的,  不能一直固定10个么?

 

当你的行数少于10的时候,怎么有10行?

[此贴子已经被作者于2014-6-8 14:34:25编辑过]

--  作者:有点甜
--  发布时间:2014/6/8 14:39:00
--  

 

还有一个问题是,随机数可能重复,还需要判断一下的。

 

Dim count As Integer = Tables("Makeshop").rows.count
Dim idxs As String = ""
Dim rc As Integer = 0
For i = 0 To count - 1
    Dim temp As Integer = Rand.Next(count)
    If ("," & idxs).Contains("," & temp & ",") = False Then
        idxs &= temp & ","
        rc += 1
       
        If rc =  10 Then
            Exit For
        End If
    End If
Next


Tables("Makeshop").filter = "_Identify in (" & idxs.TrimEnd(",") & ")"