发 帖  
原厂入驻New

MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法范例 (VB)

2009-1-8 10:22:38  3426
分享
<p><font face="Verdana">MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法范例 (VB)</font></p><font face="Verdana">
<p><br/>本范例使用 MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法,按照提供的命令移动 Recordset 记录指针。运行此过程需要 MoveAny 过程。</p>
<p>Public Sub MoveFirstX()</p>
<p>&nbsp;&nbsp;&nbsp; Dim rstAuthors As ADODB.Recordset<br/>&nbsp;&nbsp;&nbsp; Dim strCnn As String<br/>&nbsp;&nbsp;&nbsp; Dim strMessage As String<br/>&nbsp;&nbsp;&nbsp; Dim intCommand As Integer</p>
<p>&nbsp;&nbsp;&nbsp; ' Open recordset from Authors table.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strCnn = "Provider=sqloLEDb;" &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "<br/>&nbsp;&nbsp;&nbsp; Set rstAuthors = New ADODB.Recordset<br/>&nbsp;&nbsp;&nbsp; rstAuthors.CursorType = adOpenStatic<br/>&nbsp;&nbsp;&nbsp; ' Use client cursor to enable AbsolutePosition property.<br/>&nbsp;&nbsp;&nbsp; rstAuthors.CursorLocation = adUseClient<br/>&nbsp;&nbsp;&nbsp; rstAuthors.Open "Authors", strCnn, , , adCmdTable</p>
<p>&nbsp;&nbsp;&nbsp; ' Show current record information and get user's method choice.<br/>&nbsp;&nbsp;&nbsp; Do While True</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strMessage = "Name: " &amp; rstAuthors!au_fName &amp; " " &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstAuthors!au_lName &amp; vbCr &amp; "Record " &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstAuthors.AbsolutePosition &amp; " of " &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstAuthors.RecordCount &amp; vbCr &amp; vbCr &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "[1 - MoveFirst, 2 - MoveLast, " &amp; vbCr &amp; _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "3 - MoveNext, 4 - MovePrevious]"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intCommand = Val(Left(InputBox(strMessage), 1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF intCommand &lt; 1 Or intCommand &gt; 4 Then Exit Do</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' Call method based on user's input.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MoveAny intCommand, rstAuthors<br/>&nbsp;&nbsp;&nbsp; Loop<br/>&nbsp;&nbsp;&nbsp; rstAuthors.Close</p>
<p>End Sub</p>
<p>Public Sub MoveAny(intChoice As Integer, _<br/>&nbsp;&nbsp;&nbsp; rstTemp As Recordset)</p>
<p>&nbsp;&nbsp;&nbsp; ' Use specified method, trapping for BOF and EOF.<br/>&nbsp;&nbsp;&nbsp; Select Case intChoice<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstTemp.MoveFirst<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstTemp.MoveLast<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstTemp.MoveNext<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If rstTemp.EOF Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "Already at end of recordset!"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstTemp.MoveLast<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case 4<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstTemp.MovePrevious<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If rstTemp.BOF Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "Already at beginning of recordset!"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rstTemp.MoveFirst<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; End Select</p>
<p>End Sub</p>
<p></font>&nbsp;</p>
0
2009-1-8 10:22:38   评论 分享淘帖
1 个讨论
{:soso_e179:}好资料
2012-4-1 00:39:42 评论

举报

只有小组成员才能发言,加入小组>>

141个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表