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

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/Access/Stored_Procedure&amp;diff=1334&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/Stored_Procedure&amp;diff=1334&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/Stored_Procedure&amp;diff=1335&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/Stored_Procedure&amp;diff=1335&amp;oldid=prev"/>
				<updated>2010-05-26T12:46:51Z</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;==Call store procedure==&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;
Public Sub CallStoredProcedure()&lt;br /&gt;
  Const ConnectionString As String = &amp;quot;Provider=SQLOLEDB.1;Integrated Security=SSPI;&amp;quot; + _&lt;br /&gt;
    &amp;quot;Persist Security Info=False;Initial Catalog=NorthwindCS;Data Source=LAP800;Workstation ID=LAP800;&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  Dim Command As Command&lt;br /&gt;
  Set Command = New Command&lt;br /&gt;
  &lt;br /&gt;
  Command.ActiveConnection = ConnectionString&lt;br /&gt;
  Command.rumandText = &amp;quot;[Sales by Year]&amp;quot;&lt;br /&gt;
  Command.rumandType = CommandTypeEnum.adCmdStoredProc&lt;br /&gt;
  &lt;br /&gt;
  Dim BeginningDate As ADODB.Parameter&lt;br /&gt;
  Dim EndingDate As ADODB.Parameter&lt;br /&gt;
  &lt;br /&gt;
  Dim StartDate As Date&lt;br /&gt;
  StartDate = #1/1/1995#&lt;br /&gt;
  &lt;br /&gt;
  Dim EndDate As Date&lt;br /&gt;
  EndDate = #1/1/2004#&lt;br /&gt;
  &lt;br /&gt;
  Set BeginningDate = Command.CreateParameter(&amp;quot;@Beginning_Date&amp;quot;,DataTypeEnum.adDate, ParameterDirectionEnum.adParamInput, , StartDate)&lt;br /&gt;
  Set EndingDate = Command.CreateParameter(&amp;quot;@Ending_Date&amp;quot;,DataTypeEnum.adDate, ParameterDirectionEnum.adParamInput, , EndDate)&lt;br /&gt;
  Call Command.Parameters.Append(BeginningDate)&lt;br /&gt;
  Call Command.Parameters.Append(EndingDate)&lt;br /&gt;
  Dim Recordset As ADODB.Recordset&lt;br /&gt;
  Set Recordset = Command.Execute&lt;br /&gt;
  Call Sheet1.Range(&amp;quot;A1&amp;quot;).CopyFromRecordset(Recordset)&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;
==Create a stored procedure==&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 CreateStoredProc()&lt;br /&gt;
    Dim cmd As ADODB.rumand&lt;br /&gt;
    Set cmd = New ADODB.rumand&lt;br /&gt;
    cmd.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    cmd.rumandText = &amp;quot;CREATE PROCEDURE procClientGet &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;(CID long) &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;AS SELECT ClientID, CompanyName &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;FROM tblClients &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;WHERE ClientID = CID&amp;quot;&lt;br /&gt;
    cmd.Execute&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 Stored Procedure that Accepts Parameters==&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 Create_SpWithParam() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    conn.Execute &amp;quot;CREATE PROCEDURE procEnterData(@Company TEXT (40), @Tel TEXT (24)) AS &amp;quot; &amp;amp; _ &lt;br /&gt;
        &amp;quot;INSERT INTO employee (CompanyName, Phone) VALUES (@Company, @Tel);&amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    If Not conn Is Nothing Then &lt;br /&gt;
        If conn.State = adStateOpen Then conn.Close &lt;br /&gt;
    End If &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    If InStr(1, Err.Description, &amp;quot;procEnterData&amp;quot;) Then &lt;br /&gt;
        conn.Execute &amp;quot;DROP PROC procEnterData&amp;quot; &lt;br /&gt;
        Resume &lt;br /&gt;
    Else &lt;br /&gt;
        MsgBox Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
        Resume ExitHere &lt;br /&gt;
    End If &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;
==Deleting a Stored Procedure==&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 Delete_StoredProc() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    conn.Execute &amp;quot;DROP PROCEDURE procName; &amp;quot; &lt;br /&gt;
ExitHere: &lt;br /&gt;
    If Not conn Is Nothing Then &lt;br /&gt;
        If conn.State = adStateOpen Then conn.Close &lt;br /&gt;
    End If &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    If InStr(1, Err.Description, &amp;quot;cannot find&amp;quot;) Then &lt;br /&gt;
        Debug.Print &amp;quot;The procedure you want to delete does not exist.&amp;quot;&lt;br /&gt;
    Else &lt;br /&gt;
        Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    End If &lt;br /&gt;
    Resume ExitHere &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;
==Executing a Parameterized Stored Procedure==&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 Execute_StoredProcWithParam() &lt;br /&gt;
    Dim conn As ADODB.Connection &lt;br /&gt;
    Dim strCompany As String &lt;br /&gt;
    Dim strPhone As String &lt;br /&gt;
    On Error GoTo ErrorHandler &lt;br /&gt;
    Set conn = CurrentProject.Connection &lt;br /&gt;
    strCompany = &amp;quot;nnn&amp;quot;&lt;br /&gt;
    strPhone = &amp;quot;123123&amp;quot;&lt;br /&gt;
    If strCompany &amp;lt;&amp;gt; &amp;quot;&amp;quot; And strPhone &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then &lt;br /&gt;
        conn.Execute &amp;quot;procName &amp;quot; &amp;amp; strCompany &amp;amp; &amp;quot;, &amp;quot; &amp;amp; strPhone &lt;br /&gt;
    End If &lt;br /&gt;
ExitHere: &lt;br /&gt;
    If Not conn Is Nothing Then &lt;br /&gt;
        If conn.State = adStateOpen Then conn.Close &lt;br /&gt;
    End If &lt;br /&gt;
    Set conn = Nothing &lt;br /&gt;
    Exit Sub &lt;br /&gt;
ErrorHandler: &lt;br /&gt;
    Debug.Print Err.Number &amp;amp; &amp;quot;:&amp;quot; &amp;amp; Err.Description &lt;br /&gt;
    Resume ExitHere &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;
==Executing a Stored Procedure Containing Parameters==&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;
Public Sub UpdateWithStoredProcedure()&lt;br /&gt;
        Dim cmd As New ADODB.rumand&lt;br /&gt;
        Dim conn As ADODB.Connection&lt;br /&gt;
        Dim prm As ADODB.Parameter&lt;br /&gt;
        Dim strConn As String&lt;br /&gt;
        Dim strSQL As String&lt;br /&gt;
        strConn = &amp;quot;Provider=SQLOLEDB.1;&amp;quot; &amp;amp; _&lt;br /&gt;
            &amp;quot;Data Source=(local); Initial Catalog=NorthWind;&amp;quot; &amp;amp; _&lt;br /&gt;
            &amp;quot;Integrated Security=SSPI&amp;quot;&lt;br /&gt;
        Set conn = New ADODB.Connection&lt;br /&gt;
        conn.Open strConn&lt;br /&gt;
        Set cmd = New ADODB.rumand&lt;br /&gt;
        cmd.rumandText = &amp;quot;procOrderUpdate&amp;quot;&lt;br /&gt;
        cmd.rumandType = adCmdStoredProc&lt;br /&gt;
        cmd.ActiveConnection = conn&lt;br /&gt;
        Set prm = cmd.CreateParameter(&amp;quot;OrderID&amp;quot;, adInteger, adParamInput)&lt;br /&gt;
        cmd.Parameters.Append prm&lt;br /&gt;
        cmd.Parameters(&amp;quot;OrderID&amp;quot;).Value = 1&lt;br /&gt;
        Set prm = cmd.CreateParameter(&amp;quot;OrderDate&amp;quot;, adDate, adParamInput)&lt;br /&gt;
        cmd.Parameters.Append prm&lt;br /&gt;
        cmd.Parameters(&amp;quot;OrderDate&amp;quot;).Value = &amp;quot;1/1/2007&amp;quot;&lt;br /&gt;
        Set prm = cmd.CreateParameter(&amp;quot;ShipVia&amp;quot;, adInteger, adParamInput)&lt;br /&gt;
        cmd.Parameters.Append prm&lt;br /&gt;
        cmd.Parameters(&amp;quot;ShipVia&amp;quot;).Value = 2&lt;br /&gt;
        Set prm = cmd.CreateParameter(&amp;quot;Freight&amp;quot;, adCurrency, adParamInput)&lt;br /&gt;
        cmd.Parameters.Append prm&lt;br /&gt;
        cmd.Parameters(&amp;quot;Freight&amp;quot;).Value = &amp;quot;10.5&amp;quot;&lt;br /&gt;
        &amp;quot;Execute the Stored Procedure&lt;br /&gt;
        cmd.Execute&lt;br /&gt;
        &amp;quot;Close the connection&lt;br /&gt;
        conn.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;
==Use the EXECUTE statement to execute the stored procedure==&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 CreateStoredProc()&lt;br /&gt;
    Dim cmd As ADODB.rumand&lt;br /&gt;
    Set cmd = New ADODB.rumand&lt;br /&gt;
    cmd.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    cmd.rumandText = &amp;quot;CREATE PROCEDURE procClientGet &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;(CID long) &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;AS SELECT ClientID, CompanyName &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;FROM tblClients &amp;quot; &amp;amp; _&lt;br /&gt;
        &amp;quot;WHERE ClientID = CID&amp;quot;&lt;br /&gt;
    cmd.Execute&lt;br /&gt;
End Sub&lt;br /&gt;
Sub ExecuteStoredProc()&lt;br /&gt;
    Dim rst As ADODB.Recordset&lt;br /&gt;
    Dim cmd As Command&lt;br /&gt;
    Set cmd = New ADODB.rumand&lt;br /&gt;
    cmd.ActiveConnection = CurrentProject.Connection&lt;br /&gt;
    cmd.rumandText = &amp;quot;EXECUTE procClientGet 1&amp;quot;&lt;br /&gt;
    Set rst = cmd.Execute&lt;br /&gt;
    MsgBox rst(&amp;quot;CompanyName&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>