我要做一个抽奖系统,待抽奖号码存在数据库中,不知道怎么能做到随机抽取,没有什么思路。
请大家帮帮忙!谢谢了!
请大家帮帮忙!谢谢了!
解决方案 »
- 保存控件
- (求教)文本中的数据个数
- 如何用VSFLEXGRID 向空数据库中添加记录?
- [找了好久没有结果]求一个功能单一,不用注册的GIF控件。
- 请问有没有检测字符串是否为16进制字符串的命令啊?
- 急!!!请问在web浏览器控件中插入WORD后,如何是WORD不可编辑呢?
- 数据库字段太多,导致不能访问?
- 关于MDIForm_Activate()的问题
- 好消息!专业版进销存源码,提高软件开发水平的捷径!
- 为什么我在用ADO时不能定义一个新的ADODB对象了?????
- 我安装office2000时安装了VBA帮助,可我找不到。请问怎么打开VBA帮助呀??
- image 控件,移到图片控件是时,光标就变成手指
把抽獎號放到裏面。再放一個文本框,
循環顯示列表框裏的數據。選後,從列表框移除它,免得第二次再選中他。
普通的随机用法。
不过前面至少要加一句"Randomize Timer"吧?
rs.CursorLocation = adUseClient
rs.Open "Select * From tablename", cn'移到最后一条记录,以取得记录数
rs.MoveLast'随机数初始化
Randomize'取随机数,定位到一条记录。以下可以重复执行
n = Rnd * rs.RecordCount + 1
rs.AbsolutePosition = n
MsgBox rs.fields("your_number")rs.Delete
rs.MovelastIf rs.EOF Then ...
of123() ,直接随机数据库,感觉速度太快了,怎么让界面上有滚动的效果呢?能使用定时器吗?
然後取這行的文本,
這樣只要加載一次數據庫資料即可。一個窗體,一個Listbox,一個文本框,二個按鈕Dim x As Long'開始
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub'停止,並從列表中刪除
Private Sub Command2_Click()
Timer1.Enabled = False
List1.RemoveItem x
End Sub'加載,你可以加載數據庫裏的數據
Private Sub Form_Load()
Dim i As Long
For i = 0 To 1000
List1.AddItem Int(Rnd * 10000 + 1)
Next
End Sub'隨機取
Private Sub Timer1_Timer()
x = Int(Rnd * List1.ListCount)
Text1.Text = List1.List(x)
DoEvents
End Sub
rs.AbsolutePosition = i
Text1 = rs.fields("your_number")
Text1.Refresh
Next i如果记录太多,可以滚动显示若干条;如果你选中的记录太靠前,也可以从后面往前滚动:For i = n + IIf(rs.RecordCount > n + 99, 99, rs.RecordCount) To n Step -1
Text1 = rs.fields("your_number")
Text1.Refresh
Next i
For i = n + IIf(rs.RecordCount > n + 99, 99, rs.RecordCount) To n Step -1
rs.AbsolutePosition = i
Text1 = rs.fields("your_number")
Text1.Refresh
Next