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

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Lock&amp;diff=1262&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/Lock&amp;diff=1262&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/Lock&amp;diff=1263&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/Lock&amp;diff=1263&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:42Z</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;==Configuration of LockType as a 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 OptimisticRecordset()&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 &amp;quot;Select * from Employees&amp;quot;&lt;br /&gt;
    rst(&amp;quot;City&amp;quot;) = &amp;quot;Village&amp;quot;&lt;br /&gt;
    rst.Update&lt;br /&gt;
    Debug.Print rst(&amp;quot;City&amp;quot;)&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;
==Default Record Locking==&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 SetLocking()&lt;br /&gt;
    Application.SetOption &amp;quot;Default Record Locking&amp;quot;, 2&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 and get the lock type==&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 SetAndGetLocking(strLockType As String)&lt;br /&gt;
    Dim intLockIndex As Integer&lt;br /&gt;
    Dim strLockDesc As String&lt;br /&gt;
    Select Case strLockType&lt;br /&gt;
        Case &amp;quot;Optimistic&amp;quot;&lt;br /&gt;
            intLockIndex = 6&lt;br /&gt;
        Case &amp;quot;Exclusive&amp;quot;&lt;br /&gt;
            intLockIndex = 1&lt;br /&gt;
        Case &amp;quot;Pessimistic&amp;quot;&lt;br /&gt;
            intLockIndex = 2&lt;br /&gt;
        Case Else&lt;br /&gt;
            intLockIndex = -1&lt;br /&gt;
    End Select&lt;br /&gt;
    If intLockIndex &amp;lt;&amp;gt; -1 Then&lt;br /&gt;
        Application.SetOption &amp;quot;Default Record Locking&amp;quot;, intLockIndex&lt;br /&gt;
    End If&lt;br /&gt;
    Select Case Application.GetOption(&amp;quot;Default Record Locking&amp;quot;)&lt;br /&gt;
        Case 0&lt;br /&gt;
            MsgBox &amp;quot;The default locking method is optimistic.&amp;quot;&lt;br /&gt;
        Case 1&lt;br /&gt;
            MsgBox &amp;quot;The default locking method is exclusive.&amp;quot;&lt;br /&gt;
        Case 2&lt;br /&gt;
            MsgBox &amp;quot;The default locking method is pessimistic.&amp;quot;&lt;br /&gt;
    End Select&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 Lock Type to adLockOptimistic==&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;
    &amp;quot;Declare and instantiate a Recordset object&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;
    &amp;quot;Open the recordset, designating that the source&lt;br /&gt;
    &amp;quot;is a SQL statement&lt;br /&gt;
    rst.Open Source:=&amp;quot;Select * from Employees &amp;quot;, _&lt;br /&gt;
        Options:=adCmdText&lt;br /&gt;
    &amp;quot;Determine whether the recordset supports certain features&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;
==use optimictic lock to open 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_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;
    Set con = New ADODB.Connection&lt;br /&gt;
    &lt;br /&gt;
    con.Open &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\store.mdb;&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
    myRecordset.Open &amp;quot;SELECT * FROM Employees&amp;quot;, con, adOpenKeyset, adLockOptimistic&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;
==Use Row Level Locking==&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 SetGranularity()&lt;br /&gt;
    Application.SetOption &amp;quot;Use Row Level Locking&amp;quot;, True&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>