Access 每日一帖的改进
Access 获取随机记录的方法。
第一次编码是这样的:
Dim Rs,Sql
SQL = "select * from mytable"
Set RS = GetSqlRecordSet(SQL) '//getsqlrecordset是一个取得记录集的函数。
Randomize
Rnum = int(RND*RS.RecordCount)
Dim i2,Speek,Speeker
i2 = 0
Do While Not RS.eof
IF i2 = Rnum Then
Speek = RS("content")
Speeker = Rs("author")
End IF
i2 = i2 + 1
RS.MoveNext
Loop
过了一段时间,觉得有可以改善的地方,于是改成:
Dim Rs,Sql
SQL = "select * from mytable"
Set RS = GetSqlRecordSet(SQL) '//getsqlrecordset是一个取得记录集的函数。
Randomize
Rnum = int(RND*RS.RecordCount)
Dim i2,Speek,Speeker
i2 = 0
Do While Not RS.eof
IF i2 = Rnum Then
Speek = RS("content")
Speeker = Rs("author")
Exit Do
End IF
i2 = i2 + 1
RS.MoveNext
Loop
节省了一点儿剩作资源,但仍不是最好的,后来在网上看,原来可以直接把指针移动到某一记录,于是改成:
Dim Rs,Sql
SQL = "select * from mytable"
Set RS = GetSqlRecordSet(SQL) '//getsqlrecordset是一个取得记录集的函数。
Randomize
Rnum = int(RND*RS.RecordCount)
Dim Speek,Speeker
Rs.Move Rnum
Speek = RS("content")
Speeker = Rs("author")
现在就在用这个。由于记录少,其实感觉不出有什么大区别。^_^