select top 30 * from tablename where ... order by newid() 另,如果想问问题,请不要用“考验你......”这样的字眼。
一个很简单的例子: '先引用adodb库 Private Sub Command1_Click() Dim ADOCon As New ADODB.Connection Dim ADORst As New ADODB.Recordset Dim result As String ADOCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;Persist Security Info=False" ADORst.Open "select * from Authors where au_id>10", ADOCon, adOpenDynamic, adLockOptimistic Randomize rstcnt = ADORst.RecordCount fiecnt = ADORst.Fields.Count For i = 1 To 3 Index = Int((fiecnt + 1) * Rnd) ADORst.Move Index For j = 0 To fiecnt - 1 If IsNull(ADORst.Fields(j).Value) Then result = result + "," Else result = result + CStr(ADORst.Fields(j).Value) + "," End If Next Print result result = "" Next End Sub程序实现随机打印三条记录,但没有做防重复等其他处理,实际应用中可添加进去
select top 30 *
from tablename
where ...
order by newid()
另,如果想问问题,请不要用“考验你......”这样的字眼。
'先引用adodb库
Private Sub Command1_Click()
Dim ADOCon As New ADODB.Connection
Dim ADORst As New ADODB.Recordset
Dim result As String
ADOCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;Persist Security Info=False"
ADORst.Open "select * from Authors where au_id>10", ADOCon, adOpenDynamic, adLockOptimistic
Randomize
rstcnt = ADORst.RecordCount
fiecnt = ADORst.Fields.Count
For i = 1 To 3
Index = Int((fiecnt + 1) * Rnd)
ADORst.Move Index
For j = 0 To fiecnt - 1
If IsNull(ADORst.Fields(j).Value) Then
result = result + ","
Else
result = result + CStr(ADORst.Fields(j).Value) + ","
End If
Next
Print result
result = ""
Next
End Sub程序实现随机打印三条记录,但没有做防重复等其他处理,实际应用中可添加进去
demo.htm<frameset rows="300,*">
<frame src="top.htm" name="topFrame">
<frame src="bottom.htm" name="bottomFrame">
</frameset>top.htm<input type="text" name="txt">bottom.htm<a href="#" onclick="top.frames['topFrame'].document.all.txt.value=this.innerText">灰豆宝宝.net</a>