<?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_Find</id>
		<title>VBA/Excel/Access/Word/Access/Recordset Find - История изменений</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_Find"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset_Find&amp;action=history"/>
		<updated>2026-04-06T13:01:26Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Recordset_Find&amp;diff=1248&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_Find&amp;diff=1248&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_Find&amp;diff=1249&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_Find&amp;diff=1249&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:40Z</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;==Change column data case==&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 exaRecordsetEdit()&lt;br /&gt;
    Dim db As Database&lt;br /&gt;
    Dim rs As Recordset&lt;br /&gt;
    &lt;br /&gt;
    Set db = CurrentDb&lt;br /&gt;
    Set rs = db.OpenRecordset(&amp;quot;Employees&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    rs.MoveFirst&lt;br /&gt;
    Do While Not rs.EOF&lt;br /&gt;
       rs.Edit&lt;br /&gt;
       rs!Title = UCase$(rs!Title)&lt;br /&gt;
       rs.Update&lt;br /&gt;
       rs.MoveNext&lt;br /&gt;
    Loop&lt;br /&gt;
    &lt;br /&gt;
    rs.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;
==Finding a Record Based on Multiple Criteria==&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 Find_WithFilter()&lt;br /&gt;
   Dim conn As ADODB.Connection&lt;br /&gt;
   Dim rst As ADODB.Recordset&lt;br /&gt;
   Set conn = New ADODB.Connection&lt;br /&gt;
   conn.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&amp;quot; &amp;amp; CurrentProject.Path &amp;amp; _&lt;br /&gt;
      &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
   Set rst = New ADODB.Recordset&lt;br /&gt;
   rst.Open &amp;quot;Employees&amp;quot;, conn, adOpenKeyset, adLockOptimistic&lt;br /&gt;
   rst.Filter = &amp;quot;TitleOfCourtesy =&amp;quot;Ms.&amp;quot; and Country =&amp;quot;USA&amp;quot;&amp;quot;&lt;br /&gt;
   Do Until rst.EOF&lt;br /&gt;
      Debug.Print rst.Fields(&amp;quot;LastName&amp;quot;).Value&lt;br /&gt;
      rst.MoveNext&lt;br /&gt;
   Loop&lt;br /&gt;
   rst.Close&lt;br /&gt;
   Set rst = Nothing&lt;br /&gt;
   conn.Close&lt;br /&gt;
   Set conn = 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;
==Finding a Specific Record 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 FindProject()&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 Employees&amp;quot;&lt;br /&gt;
    &amp;quot;Attempt to find a specific project&lt;br /&gt;
    strSQL = &amp;quot;[EmployeeID] = &amp;quot; &amp;amp; 1&lt;br /&gt;
    rst.Find strSQL&lt;br /&gt;
    &amp;quot;Determine if the specified project was found&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;
        msgBox lngValue &amp;amp; &amp;quot; Found&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;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding Records Using the Find Method==&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 Find_WithFind()&lt;br /&gt;
   Dim conn As ADODB.Connection&lt;br /&gt;
   Dim rst As ADODB.Recordset&lt;br /&gt;
   Set conn = New ADODB.Connection&lt;br /&gt;
   conn.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&amp;quot; &amp;amp; CurrentProject.Path &amp;amp; &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
   Set rst = New ADODB.Recordset&lt;br /&gt;
   rst.Open &amp;quot;Employees&amp;quot;, conn, adOpenKeyset, adLockOptimistic&lt;br /&gt;
   rst.Find &amp;quot;TitleOfCourtesy =&amp;quot;Ms.&amp;quot;&amp;quot;&lt;br /&gt;
   Do Until rst.EOF&lt;br /&gt;
      Debug.Print rst.Fields(&amp;quot;LastName&amp;quot;).Value&lt;br /&gt;
      rst.Find &amp;quot;TitleOfCourtesy =&amp;quot;Ms.&amp;quot;&amp;quot;, SkipRecords:=1, _&lt;br /&gt;
          SearchDirection:=adSearchForward&lt;br /&gt;
   Loop&lt;br /&gt;
   rst.Close&lt;br /&gt;
   Set rst = Nothing&lt;br /&gt;
   conn.Close&lt;br /&gt;
   Set conn = 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;
==Finding the Record Position==&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 FindRecordPosition()&lt;br /&gt;
   Dim conn As ADODB.Connection&lt;br /&gt;
   Dim rst As ADODB.Recordset&lt;br /&gt;
   Dim strConn As String&lt;br /&gt;
   strConn = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;&amp;quot; &amp;amp; _&lt;br /&gt;
      &amp;quot;Data Source=&amp;quot; &amp;amp; CurrentProject.Path &amp;amp; _&lt;br /&gt;
      &amp;quot;\mydb.mdb&amp;quot;&lt;br /&gt;
   Set conn = New ADODB.Connection&lt;br /&gt;
   conn.Open strConn&lt;br /&gt;
   Set rst = New ADODB.Recordset&lt;br /&gt;
   With rst&lt;br /&gt;
      .Open &amp;quot;Select * from Employees&amp;quot;, conn, adOpenKeyset, _&lt;br /&gt;
          adLockOptimistic, adCmdText&lt;br /&gt;
   Debug.Print .AbsolutePosition&lt;br /&gt;
      .Move 3 &amp;quot; move forward 3 records&lt;br /&gt;
      Debug.Print .AbsolutePosition&lt;br /&gt;
      .MoveLast &amp;quot; move to the last record&lt;br /&gt;
      Debug.Print .AbsolutePosition&lt;br /&gt;
      Debug.Print .RecordCount&lt;br /&gt;
      .Close&lt;br /&gt;
   End With&lt;br /&gt;
   Set rst = Nothing&lt;br /&gt;
   conn.Close&lt;br /&gt;
   Set conn = 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;
==Find record by using Recordset.FindFirst==&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 findrecorder()&lt;br /&gt;
    Dim dbNorthwind As DAO.Database&lt;br /&gt;
    Dim dbPath As String&lt;br /&gt;
    DbPath = CurrentProject.Path &amp;amp; &amp;quot;mydb.mdb&amp;quot;&lt;br /&gt;
    Set dbNorthwind = OpenDatabase(dbPath)&lt;br /&gt;
    &lt;br /&gt;
    Dim rsEmployees As DAO.Recordset&lt;br /&gt;
    Dim rsCustomers As DAO.Recordset&lt;br /&gt;
    Set rsEmployees = dbNorthwind.OpenRecordset(&amp;quot;Employees&amp;quot;, dbOpenTable)&lt;br /&gt;
    Set rsCustomers = dbNorthwind.OpenRecordset(&amp;quot;Customers&amp;quot;, dbOpenTable)&lt;br /&gt;
    rsCustomers.MoveLast&lt;br /&gt;
    numCustomers = rsCustomers.RecordCount&lt;br /&gt;
    With rsEmployees&lt;br /&gt;
        .FindFirst &amp;quot;City = &amp;quot;Seattle&amp;quot;&amp;quot;&lt;br /&gt;
        If .NoMatch Then&lt;br /&gt;
            MsgBox (&amp;quot;No Records Found!&amp;quot;)&lt;br /&gt;
            .MoveFirst&lt;br /&gt;
        Else&lt;br /&gt;
            MsgBox (&amp;quot;Found &amp;quot;&amp;amp; .Fields(2).Value &amp;amp; &amp;quot; &amp;quot;&amp;amp; .Fields(1).Value &amp;amp; _&lt;br /&gt;
                 &amp;quot;in Seattle&amp;quot;)&lt;br /&gt;
        End If&lt;br /&gt;
    End With&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;
==NoMatch property in 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 SeekByPrice(curPrice As Currency)&lt;br /&gt;
  Dim db As Database&lt;br /&gt;
  Dim rec As Recordset&lt;br /&gt;
  Dim strSQL As String&lt;br /&gt;
  strSQL = &amp;quot;tblSales&amp;quot;&lt;br /&gt;
  Set db = CurrentDb()&lt;br /&gt;
  Set rec = db.OpenRecordset(strSQL)&lt;br /&gt;
  rec.Index = &amp;quot;AmountPaid&amp;quot;&lt;br /&gt;
  rec.Seek &amp;quot;=&amp;quot;, curPrice&lt;br /&gt;
  &lt;br /&gt;
  If rec.NoMatch = True Then&lt;br /&gt;
    Debug.Print &amp;quot;No orders cost &amp;quot; &amp;amp; FormatCurrency(curPrice)&lt;br /&gt;
  Else&lt;br /&gt;
    Debug.Print &amp;quot;Order No. &amp;quot; &amp;amp; rec(&amp;quot;SalesID&amp;quot;) &amp;amp; &amp;quot; placed on &amp;quot; &amp;amp; _&lt;br /&gt;
         FormatDateTime(rec(&amp;quot;DateOrdered&amp;quot;), vbLongDate) &amp;amp; _&lt;br /&gt;
         &amp;quot; cost &amp;quot; &amp;amp; FormatCurrency(rec(&amp;quot;AmountPaid&amp;quot;))&lt;br /&gt;
  End If&lt;br /&gt;
  rec.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;
==Select specific column in select statement==&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;
    Dim strSQL As String&lt;br /&gt;
    &lt;br /&gt;
    strSQL = &amp;quot;SELECT txtCustFirstName, txtCustLastName FROM tblCustomer&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;txtCustFirstName&amp;quot;) &amp;amp; &amp;quot; &amp;quot; &amp;amp; _&lt;br /&gt;
                   myRecordset.Fields(&amp;quot;txtCustLastName&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;
==Simple Select statement==&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;
    Dim strSQL As String&lt;br /&gt;
    &lt;br /&gt;
    strSQL = &amp;quot;SELECT * FROM tblCustomer ORDER BY txtCustLastName&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;
       Debug.Print myRecordset.Fields(&amp;quot;txtCustFirstName&amp;quot;), _&lt;br /&gt;
                   myRecordset.Fields(&amp;quot;txtCustLastName&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;
==SQL with where clause==&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;
    Dim strSQL As String&lt;br /&gt;
    Dim strSearch As String&lt;br /&gt;
    &lt;br /&gt;
    strSearch = &amp;quot;Joe&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    strSQL = &amp;quot;SELECT txtCustFirstName, txtCustLastName FROM tblCustomer&amp;quot; &amp;amp; _&lt;br /&gt;
              &amp;quot; WHERE txtCustLastName = &amp;quot; &amp;amp; &amp;quot; &amp;quot;&amp;quot; &amp;amp; strSearch &amp;amp; &amp;quot;&amp;quot;&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;
       Debug.Print myRecordset.Fields(&amp;quot;txtCustFirstName&amp;quot;), _&lt;br /&gt;
                   myRecordset.Fields(&amp;quot;txtCustLastName&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;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>