Date: Tue, 27 Sep 2005 17:42:02 +0900
From: who@sub.example.jp
--0__=C6BBFA1ADFBAE3988f9e8a93df938690918cC6BBFA1ADFBAE398
Content-type: text/plain; charset=ISO-2022-JP
質問させていただきます。
システムストアドプロシージャをAccessのフォーム上でVBAを使って組込んで使用で
きるんだと思いますが、書籍等ではあまりサンプルを見たことがないため教えて下
さい。
具体的には、sp_password を使って、「パスワードの変更ができる」アプリを作り
たいのですがサンプルをどのように作れば良いでしょうか。
やりたいことは、「初期画面にデフォルト値としてLOGIN名、OLDPASSWORDを表示
し、NEWPASSWORDを入力することで、パスワード変更を行う。さらに、実行後、LOGIN
名、OLDPASSWORD、NEWPASSWORDをフォームに表示する。」
実際には次のようなVBAが考えられますでしょうか。この中で、初期画面に2つのデ
フォルト値を表示、実行後のフォームへの表示の記述を教えて下さい。
Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
Dim parm As ADODB.Parameter
Dim parm1 As ADODB.Parameter
Dim parm2 As ADODB.Parameter
Dim cmd1 As ADODB.Command
Dim Msg As String
Dim str1 As String
Private Sub NEWPASS_BeforeUpdate(Cancel As Integer)
Set cn = Application.CurrentProject.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
Set parm = New ADODB.Parameter
With cmd
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "SP_password"
Set parm = .CreateParameter(, adVarChar, adParamInput, 11,
Forms(cFormName_P)![OLDPASS])
.Parameters.Append parm
Set parm1 = .CreateParameter(, adVarChar, adParamInput, 11,
Forms(cFormName_P)![NEWPASS])
.Parameters.Append parm1
Set parm2 = .CreateParameter(, adVarChar, adParamInput, 11,
Forms(cFormName_P)![LOGIN])
.Parameters.Append parm1
.Execute
End With
Set rs = Nothing
[OLDPASS].をフォームのフィルドに表示。
[NEWPASS] をフォームのフィルドに表示。
[LOGIN]をフォームのフィルドに表示。
End Sub
seki
--0__=C6BBFA1ADFBAE3988f9e8a93df938690918cC6BBFA1ADFBAE398
Content-type: text/html; charset=ISO-2022-JP
Content-Disposition: inline
<html><body><font face="MS Pゴシック">質問させていただきます。</font><br>
<font face="MS Pゴシック">システムストアドプロシージャをAccessのフォーム上でVBAを使って組込んで使用できるんだと思いますが、書籍等ではあまりサンプルを見たことがないため教えて下さい。</font><br>
<font face="MS Pゴシック">具体的には、sp_password を使って、「パスワードの変更ができる」アプリを作りたいのですがサンプルをどのように作れば良いでしょうか。</font><br>
<br>
<font face="MS Pゴシック">やりたいことは、「初期画面にデフォルト値としてLOGIN名、OLDPASSWORDを表示し、NEWPASSWORDを入力することで、パスワード変更を行う。さらに、実行後、LOGIN名、OLDPASSWORD、NEWPASSWORDをフォームに表示する。」</font><br>
<font face="MS Pゴシック">実際には次のようなVBAが考えられますでしょうか。この中で、初期画面に2つのデフォルト値を表示、実行後のフォームへの表示の記述を教えて下さい。</font><br>
<br>
<tt>Dim cn As ADODB.Connection</tt><br>
<tt>Dim cmd As ADODB.Command</tt><br>
<tt>Dim rs As ADODB.Recordset</tt><br>
<tt>Dim parm As ADODB.Parameter</tt><br>
<tt>Dim parm1 As ADODB.Parameter</tt><br>
<tt>Dim parm2 As ADODB.Parameter</tt><br>
<tt>Dim cmd1 As ADODB.Command</tt><br>
<tt>Dim Msg As String</tt><br>
<tt>Dim str1 As String</tt><br>
<tt>Private Sub NEWPASS_BeforeUpdate(Cancel As Integer)</tt><br>
<tt> Set cn = Application.CurrentProject.Connection</tt><br>
<tt> Set cmd = New ADODB.Command</tt><br>
<tt> Set rs = New ADODB.Recordset</tt><br>
<tt> Set parm = New ADODB.Parameter</tt><br>
<tt> With cmd</tt><br>
<tt> .ActiveConnection = cn</tt><br>
<tt> .CommandType = adCmdStoredProc</tt><br>
<tt> .CommandText = "SP_</tt><font face="MS Pゴシック">password</font><tt>"</tt><br>
<tt> Set parm = .CreateParameter(, adVarChar, adParamInput, 11, Forms(cFormName_P)![OLDPASS])</tt><br>
<tt> .Parameters.Append parm</tt><br>
<tt> Set parm1 = .CreateParameter(, adVarChar, adParamInput, 11, Forms(cFormName_P)![NEWPASS])</tt><br>
<tt> .Parameters.Append parm1</tt><br>
<tt> Set parm2 = .CreateParameter(, adVarChar, adParamInput, 11, Forms(cFormName_P)![LOGIN])</tt><br>
<tt> .Parameters.Append parm1 </tt><br>
<tt> .Execute</tt><br>
<tt> </tt><br>
<tt> End With</tt><br>
<tt> </tt><tt>Set rs = Nothing</tt><br>
<tt> [OLDPASS].をフォームのフィルドに表示。</tt><br>
<tt> [NEWPASS] をフォームのフィルドに表示。</tt><br>
<tt> [LOGIN]をフォームのフィルドに表示。</tt><br>
<tt> </tt><br>
<tt> End Sub</tt><br>
<br>
<font face="MS Pゴシック">seki</font></body></html>
--0__=C6BBFA1ADFBAE3988f9e8a93df938690918cC6BBFA1ADFBAE398--
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|