<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FAccess%2FRecordset</id>
		<title>VBA/Excel/Access/Word/Access/Recordset - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FAccess%2FRecordset"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset&amp;action=history"/>
		<updated>2026-04-06T00:14:51Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset&amp;diff=1410&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset&amp;diff=1410&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset&amp;diff=1411&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset&amp;diff=1411&amp;oldid=prev"/>
				<updated>2010-05-26T12:47:01Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A Recordset That Does Not Support the RecordCount Property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CountRecordsBad()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.Open &amp;quot;Select * from Employees&amp;quot;&lt;br /&gt;
    Debug.Print rst.RecordCount  &amp;quot;Prints -1&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==A Recordset That Supports the RecordCount Property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CountRecordsGood()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.Open &amp;quot;Select * from Employees&amp;quot;&lt;br /&gt;
    Debug.Print rst.RecordCount  &amp;quot;Prints Record count&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Assigning Recordsets Dynamically to a form==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub runFormNY()&lt;br /&gt;
    Dim con As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As Recordset&lt;br /&gt;
    Dim strFrmNm As String&lt;br /&gt;
    &lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    myRecordset.CursorType = adOpenKeyset&lt;br /&gt;
    myRecordset.LockType = adLockOptimistic &lt;br /&gt;
    Set con = New ADODB.Connection&lt;br /&gt;
    con.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\mydb.mdb;&amp;quot;&lt;br /&gt;
       myRecordset.Open &amp;quot;SELECT * FROM Employees&amp;quot;, con&lt;br /&gt;
       strFrmNm = &amp;quot;frmCustomer&amp;quot;&lt;br /&gt;
    DoCmd.OpenForm strFrmNm&lt;br /&gt;
    Set Application.Forms(strFrmNm).Recordset = myRecordset&lt;br /&gt;
    &lt;br /&gt;
    myRecordset.Close&lt;br /&gt;
    con.Close&lt;br /&gt;
    Set myRecordset = Nothing&lt;br /&gt;
    Set con = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Build a string text from result set==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub MyFirstConnection4()&lt;br /&gt;
    Dim myConnection As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
    Dim strOutput As String&lt;br /&gt;
   &lt;br /&gt;
    strSQL = &amp;quot;SELECT FirstName, LastName FROM Employees&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    Set myConnection = CurrentProject.Connection&lt;br /&gt;
    &lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    myRecordset.Open strSQL, myConnection&lt;br /&gt;
    &lt;br /&gt;
    Do Until myRecordset.EOF&lt;br /&gt;
       strOutput = strOutput + myRecordset.Fields(&amp;quot;FirstName&amp;quot;) &amp;amp; &amp;quot; &amp;quot; &amp;amp; _&lt;br /&gt;
                               myRecordset.Fields(&amp;quot;LastName&amp;quot;) &amp;amp; vbCrLf&lt;br /&gt;
       myRecordset.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    myRecordset.Close&lt;br /&gt;
    msgBox strOutput&lt;br /&gt;
    myConnection.Close&lt;br /&gt;
    Set myConnection = Nothing&lt;br /&gt;
    Set myRecordset = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a Custom Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Custom_Recordset()&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Dim strFile As String&lt;br /&gt;
    Dim strFolder As String&lt;br /&gt;
    strFolder = &amp;quot;C:\&amp;quot;&lt;br /&gt;
    strFile = Dir(strPath &amp;amp; &amp;quot;*.*&amp;quot;)&lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    With myRecordset&lt;br /&gt;
       Set .ActiveConnection = Nothing&lt;br /&gt;
           .CursorLocation = adUseClient&lt;br /&gt;
           With .Fields&lt;br /&gt;
                     .Append &amp;quot;Name&amp;quot;, adVarChar, 255&lt;br /&gt;
                     .Append &amp;quot;Size&amp;quot;, adDouble&lt;br /&gt;
                     .Append &amp;quot;Modified&amp;quot;, adDBTimeStamp&lt;br /&gt;
           End With&lt;br /&gt;
            .Open&lt;br /&gt;
              &amp;quot; Add a new record to the recordset&lt;br /&gt;
              .AddNew Array(&amp;quot;Name&amp;quot;, &amp;quot;Size&amp;quot;, &amp;quot;Modified&amp;quot;), _&lt;br /&gt;
               Array(&amp;quot;fileName.txt&amp;quot;, 100, #9/9/1999#)&lt;br /&gt;
            .MoveFirst&lt;br /&gt;
             &amp;quot; Print the contents of the recordset to the Immediate window&lt;br /&gt;
                 Do Until .EOF&lt;br /&gt;
                      Debug.Print !Name &amp;amp; vbTab &amp;amp; !Size &amp;amp; vbTab &amp;amp; !Modified&lt;br /&gt;
                     .MoveNext&lt;br /&gt;
                 Loop&lt;br /&gt;
                 .Close&lt;br /&gt;
         End With&lt;br /&gt;
     Set myRecordset = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating a Disconnected Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub Rst_Disconnected()&lt;br /&gt;
    Dim conn As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Dim strConn As String&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
    Dim strRst As String&lt;br /&gt;
    strSQL = &amp;quot;Select * From Orders where CustomerID = &amp;quot;VINET&amp;quot;&amp;quot;&lt;br /&gt;
    strConn = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot;&lt;br /&gt;
    strConn = strConn &amp;amp; &amp;quot;Data Source = &amp;quot; &amp;amp; CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
    Set conn = New ADODB.Connection&lt;br /&gt;
    conn.ConnectionString = strConn&lt;br /&gt;
    conn.Open&lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    Set myRecordset.ActiveConnection = conn&lt;br /&gt;
    &amp;quot; retrieve the data&lt;br /&gt;
    myRecordset.CursorLocation = adUseClient&lt;br /&gt;
    myRecordset.LockType = adLockBatchOptimistic&lt;br /&gt;
    myRecordset.CursorType = adOpenStatic&lt;br /&gt;
    myRecordset.Open strSQL, , , , adCmdText&lt;br /&gt;
    Set myRecordset.ActiveConnection = Nothing&lt;br /&gt;
    myRecordset.MoveFirst&lt;br /&gt;
    Debug.Print myRecordset.Fields(0) &amp;amp; &amp;quot; was &amp;quot; &amp;amp; myRecordset.Fields(1) &amp;amp; &amp;quot; before.&amp;quot;&lt;br /&gt;
    myRecordset.Fields(&amp;quot;CustomerID&amp;quot;).Value = &amp;quot;OCEAN&amp;quot;&lt;br /&gt;
    myRecordset.Update&lt;br /&gt;
    strRst = myRecordset.GetString(adClipString, , &amp;quot;,&amp;quot;)&lt;br /&gt;
    Debug.Print strRst&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dynamic Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub exaRecordsetPosition()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim rsDyna As Recordset&lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set rsDyna = db.OpenRecordset(&amp;quot;Books&amp;quot;, dbOpenDynaset)&lt;br /&gt;
    rsDyna.MoveFirst&lt;br /&gt;
    Do While Not rsDyna.EOF&lt;br /&gt;
        Debug.Print rsDyna!PubID &amp;amp; &amp;quot; / &amp;quot; &amp;amp; rsDyna!Title&lt;br /&gt;
        Debug.Print rsDyna.AbsolutePosition&lt;br /&gt;
        Debug.Print Format$(rsDyna.PercentPosition&lt;br /&gt;
        rsDyna.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    rsDyna.Close&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Filling a Combo Box with a Disconnected Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Private Sub Form_Load() &lt;br /&gt;
   Dim myRecordset As ADODB.Recordset &lt;br /&gt;
   Dim strRowSource As String &lt;br /&gt;
   Dim strName As String &lt;br /&gt;
   strName = CurrentProject.Path &amp;amp; &amp;quot;\Companies.rst&amp;quot; &lt;br /&gt;
   Set myRecordset = New ADODB.Recordset &lt;br /&gt;
      With myRecordset &lt;br /&gt;
         .CursorLocation = adUseClient &lt;br /&gt;
         .Open strName, , , ,  adCmdFile &lt;br /&gt;
         Do Until .EOF &lt;br /&gt;
            strRowSource = strRowSource &amp;amp; myRecordset!CompanyName &amp;amp; &amp;quot;;&amp;quot; &lt;br /&gt;
            .MoveNext &lt;br /&gt;
         Loop &lt;br /&gt;
         With Me.cboCompany &lt;br /&gt;
            .RowSourceType = &amp;quot;Value List&amp;quot; &lt;br /&gt;
            .RowSource = strRowSource &lt;br /&gt;
         End With &lt;br /&gt;
         .Close &lt;br /&gt;
      End With &lt;br /&gt;
   Set myRecordset = Nothing &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Looping Through a Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub LoopThroughRecordset(rst As ADODB.Recordset, rg As Range) &lt;br /&gt;
    Dim nColumnOffset As Integer &lt;br /&gt;
    Dim fld As ADODB.Field &lt;br /&gt;
    With rst &lt;br /&gt;
        Do Until .EOF &lt;br /&gt;
            nColumnOffset = 0 &lt;br /&gt;
            For Each fld In .Fields &lt;br /&gt;
                rg.Offset(0, nColumnOffset).Value = fld.Value &lt;br /&gt;
                nColumnOffset = nColumnOffset + 1 &lt;br /&gt;
            Next &lt;br /&gt;
            Set rg = rg.Offset(1, 0) &lt;br /&gt;
            .MoveNext &lt;br /&gt;
        Loop &lt;br /&gt;
    End With &lt;br /&gt;
    Set fld = Nothing &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Move cursor in result set==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub MyFirstConnection3()&lt;br /&gt;
    Dim myConnection As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
    &lt;br /&gt;
    strSQL = &amp;quot;SELECT FirstName, LastName FROM Employees&amp;quot;&lt;br /&gt;
    Set myConnection = CurrentProject.Connection&lt;br /&gt;
    &lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    myRecordset.Open strSQL, myConnection&lt;br /&gt;
    &lt;br /&gt;
    Do Until myRecordset.EOF&lt;br /&gt;
       Debug.Print myRecordset.Fields(&amp;quot;FirstName&amp;quot;) &amp;amp; &amp;quot; &amp;quot; &amp;amp; _&lt;br /&gt;
                   myRecordset.Fields(&amp;quot;LastName&amp;quot;)&lt;br /&gt;
       myRecordset.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    myRecordset.Close&lt;br /&gt;
    myConnection.Close&lt;br /&gt;
    Set myConnection = Nothing&lt;br /&gt;
    Set myRecordset = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Refreshing Recordset Data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub PersistRecordset()&lt;br /&gt;
    Dim strFileName As String&lt;br /&gt;
    strFileName = &amp;quot;c:\test.txt&amp;quot;&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.LockType = adLockOptimistic&lt;br /&gt;
    rst.Open Source:=&amp;quot;Select * from Employees &amp;quot;, Options:=adCmdText&lt;br /&gt;
    On Error Resume Next&lt;br /&gt;
    Kill strFileName&lt;br /&gt;
    &amp;quot;Save the recordset&lt;br /&gt;
    rst.Save strFileName, adPersistADTG&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Retrieve data from Recordset by table column name==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub MyFirstConnection()&lt;br /&gt;
    Dim myConnection As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Set myConnection = CurrentProject.Connection&lt;br /&gt;
    &lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    myRecordset.Open &amp;quot;select * from employees&amp;quot;, myConnection&lt;br /&gt;
    &lt;br /&gt;
    Do Until myRecordset.EOF&lt;br /&gt;
       Debug.Print myRecordset.Fields(&amp;quot;FirstName&amp;quot;), _&lt;br /&gt;
                   myRecordset.Fields(&amp;quot;LastName&amp;quot;)&lt;br /&gt;
       myRecordset.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    myRecordset.Close&lt;br /&gt;
    myConnection.Close&lt;br /&gt;
    Set myConnection = Nothing&lt;br /&gt;
    Set myRecordset = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Row order in Dynamic Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub exaRecordsetMove()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim rsTable As Recordset&lt;br /&gt;
    Dim rsDyna As Recordset&lt;br /&gt;
    &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    &lt;br /&gt;
    Set rsTable = db.OpenRecordset(&amp;quot;Books&amp;quot;)&lt;br /&gt;
    Debug.Print &amp;quot;Books indexed by PubID/Title:&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    rsTable.Index = &amp;quot;PubTitle&amp;quot;&lt;br /&gt;
    rsTable.MoveFirst&lt;br /&gt;
    Do While Not rsTable.EOF&lt;br /&gt;
        Debug.Print rsTable!PubID &amp;amp; &amp;quot; / &amp;quot; &amp;amp; rsTable!Title&lt;br /&gt;
        rsTable.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    &lt;br /&gt;
    Debug.Print &amp;quot;Dynaset-type recordset order:&amp;quot;&lt;br /&gt;
    Set rsDyna = db.OpenRecordset(&amp;quot;Books&amp;quot;, dbOpenDynaset)&lt;br /&gt;
    rsDyna.MoveFirst&lt;br /&gt;
    Do While Not rsDyna.EOF&lt;br /&gt;
        Debug.Print rsDyna!PubID &amp;amp; &amp;quot; / &amp;quot; &amp;amp; rsDyna!Title&lt;br /&gt;
        rsDyna.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    &lt;br /&gt;
    rsTable.Close&lt;br /&gt;
    rsDyna.Close&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Set Index and seek the recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub exaRecordsetSeek()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim rsTable As Recordset&lt;br /&gt;
    &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    &lt;br /&gt;
    Set rsTable = db.OpenRecordset(&amp;quot;Books&amp;quot;)&lt;br /&gt;
    rsTable.Index = &amp;quot;Title&amp;quot;&lt;br /&gt;
    rsTable.Seek &amp;quot;&amp;gt;=&amp;quot;, &amp;quot;On&amp;quot;&lt;br /&gt;
    If Not rsTable.NoMatch Then&lt;br /&gt;
        Debug.Print rsTable!Title&lt;br /&gt;
    Else&lt;br /&gt;
        Debug.Print &amp;quot;No title beginning with word &amp;quot;On&amp;quot;.&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
    &lt;br /&gt;
    rsTable.Close&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Set recordset to form==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Private Sub Form_Open(Cancel As Integer)&lt;br /&gt;
    Dim con As ADODB.Connection&lt;br /&gt;
    Dim myRecordset As ADODB.Recordset&lt;br /&gt;
    Dim strFrmNm As String&lt;br /&gt;
    &lt;br /&gt;
    Set myRecordset = New ADODB.Recordset&lt;br /&gt;
    myRecordset.CursorType = adOpenKeyset&lt;br /&gt;
    myRecordset.LockType = adLockOptimistic&lt;br /&gt;
    Set con = New ADODB.Connection&lt;br /&gt;
    con.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; _&lt;br /&gt;
       &amp;quot;Data Source=C:\store.mdb;&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
    myRecordset.Open &amp;quot;SELECT * FROM tblCustomer&amp;quot;, con&lt;br /&gt;
    Set Me.Recordset = myRecordset&lt;br /&gt;
    &lt;br /&gt;
    myRecordset.Close&lt;br /&gt;
    con.Close&lt;br /&gt;
    Set myRecordset = Nothing&lt;br /&gt;
    Set con = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Snapshot Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub exaRecordsets()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim rsTable As Recordset&lt;br /&gt;
    Dim rsDyna As Recordset&lt;br /&gt;
    Dim rsSnap As Recordset&lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set rsTable = db.OpenRecordset(&amp;quot;Employees&amp;quot;)&lt;br /&gt;
    Debug.Print &amp;quot;TableCount: &amp;quot; &amp;amp; rsTable.RecordCount&lt;br /&gt;
    Set rsDyna = db.OpenRecordset(&amp;quot;Employees&amp;quot;, dbOpenDynaset)&lt;br /&gt;
    Debug.Print &amp;quot;DynaCount: &amp;quot; &amp;amp; rsDyna.RecordCount&lt;br /&gt;
    rsDyna.MoveLast&lt;br /&gt;
    Debug.Print &amp;quot;DynaCount: &amp;quot; &amp;amp; rsDyna.RecordCount&lt;br /&gt;
    &lt;br /&gt;
    Set rsSnap = db.OpenRecordset(&amp;quot;Employees&amp;quot;, dbOpenSnapshot)&lt;br /&gt;
    Debug.Print &amp;quot;SnapCount: &amp;quot; &amp;amp; rsSnap.RecordCount&lt;br /&gt;
    rsSnap.MoveLast&lt;br /&gt;
    Debug.Print &amp;quot;SnapCount: &amp;quot; &amp;amp; rsSnap.RecordCount&lt;br /&gt;
    &lt;br /&gt;
    rsTable.Close&lt;br /&gt;
    rsDyna.Close&lt;br /&gt;
    rsSnap.Close&lt;br /&gt;
    &lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Sort Property of the Recordset Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub SortRecordset()&lt;br /&gt;
    Dim intCounter As Integer&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorLocation = adUseClient&lt;br /&gt;
    rst.Open &amp;quot;Select * from Employees&amp;quot;&lt;br /&gt;
    Debug.Print &amp;quot;NOT Sorted!!!&amp;quot;&lt;br /&gt;
    Do Until rst.EOF&lt;br /&gt;
        Debug.Print rst(&amp;quot;EmployeeID&amp;quot;)&lt;br /&gt;
        rst.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    Debug.Print &amp;quot;Now Sorted!!!&amp;quot;&lt;br /&gt;
    rst.Sort = &amp;quot;[EmployeeID]&amp;quot;&lt;br /&gt;
    Do Until rst.EOF&lt;br /&gt;
        Debug.Print rst(&amp;quot;EmployeeID&amp;quot;)&lt;br /&gt;
        rst.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The Supports Method of the Recordset Object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub SupportsMethod()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    &lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.LockType = adLockOptimistic&lt;br /&gt;
    rst.CursorLocation = adUseServer&lt;br /&gt;
    rst.Open Source:=&amp;quot;Select * from Employees &amp;quot;, _&lt;br /&gt;
        Options:=adCmdText&lt;br /&gt;
    Debug.Print &amp;quot;Bookmark &amp;quot; &amp;amp; rst.Supports(adBookmark)&lt;br /&gt;
    Debug.Print &amp;quot;Update Batch &amp;quot; &amp;amp; rst.Supports(adUpdateBatch)&lt;br /&gt;
    Debug.Print &amp;quot;Move Previous &amp;quot; &amp;amp; rst.Supports(adMovePrevious)&lt;br /&gt;
    Debug.Print &amp;quot;Seek &amp;quot; &amp;amp; rst.Supports(adSeek)&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the AbsolutePosition Property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub FindPosition()&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.Open &amp;quot;Select * from Products&amp;quot;&lt;br /&gt;
    strSQL = &amp;quot;[ProductID] = &amp;quot; &amp;amp; 1&lt;br /&gt;
    rst.Find strSQL&lt;br /&gt;
    &amp;quot;If record is found, print its position&lt;br /&gt;
    If rst.EOF Then&lt;br /&gt;
        msgBox lngValue &amp;amp; &amp;quot; Not Found&amp;quot;&lt;br /&gt;
    Else&lt;br /&gt;
        Debug.Print rst.AbsolutePosition&lt;br /&gt;
    End If&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the Bookmark Property==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub UseBookmark()&lt;br /&gt;
    Dim strSQL As String&lt;br /&gt;
    Dim vntPosition As Variant&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.Open &amp;quot;Select * from Products&amp;quot;&lt;br /&gt;
    vntPosition = rst.Bookmark&lt;br /&gt;
    Do Until rst.EOF&lt;br /&gt;
        Debug.Print rst(&amp;quot;ProductID&amp;quot;)&lt;br /&gt;
        rst.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    rst.Bookmark = vntPosition&lt;br /&gt;
    Debug.Print rst(&amp;quot;ProductID&amp;quot;)&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using the EOF Property to Determine the Bounds of a Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub DetermineLimits()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.Open &amp;quot;Select * from Employees&amp;quot;&lt;br /&gt;
    Do Until rst.EOF&lt;br /&gt;
        Debug.Print rst(&amp;quot;EmployeeID&amp;quot;)&lt;br /&gt;
        rst.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    rst.Close&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Whether Records Are Returned in a Recordset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub CheckARecordset()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Set rst = New ADODB.Recordset&lt;br /&gt;
    rst.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    rst.CursorType = adOpenStatic&lt;br /&gt;
    rst.Open &amp;quot;Select * from Employees&amp;quot;&lt;br /&gt;
    If Not rst.RecordCount Then&lt;br /&gt;
      msgBox &amp;quot;Recordset Empty...Unable to Proceed&amp;quot;&lt;br /&gt;
    End If&lt;br /&gt;
    rst.Close&lt;br /&gt;
    Set rst = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>