Date: Fri, 9 Jul 2004 15:25:17 +0900
From: who@sub.example.jp
--0__=C6BBE45FDFB24C8F8f9e8a93df938690918cC6BBE45FDFB24C8F
Content-type: text/plain; charset=ISO-2022-JP
前回はご容赦下さい。
ご指摘いただき、質問文書を訂正いたしました。
やりたいことは
・当初、照会結果フォームのレコードソースプロパティと入力パラメータプロパ
ティに「カナ氏名」用の値を設定しておいて、個人番号入力時、フォーム出力直前
にプログラムでプロパティの値を入れ替えたい。
うまく行かない点
・個人番号入力時、フォームがオープンできていないので変更ができません。(下線
の部分)
フォームに乗せているコントロール(表のつもり)
[コントロール] F[初期フォーム] F[照会結
果フォーム]
レコードソース ダミーレコード str1
入力パラメータ ブランク @カナ氏名
TEXT FORMS("初期フォーム")![カナ氏名]
イベントP Sub カナ氏名_AfterUpdate() 別途記載 別途記載
イベントP Sub_個人番号_AfterUpdate() 別途記載 別途記載
ストアドプロシージャ
CREATE PROCEDURE str1
@カナ氏名 nvarchar(50)
AS
select 住所 from 属性
where カナ氏名=@カナ氏名
CREATE PROCEDURE str2
@個人番号 int
AS
select 住所 from 属性
where 個人番号 = @個人番号
イベント P
パラメータ項目およびVBAの構成に関わる箇所を抜き出しました。
「初期フォーム」のイベントプロシージャVBA
Private Sub カナ氏名_AfterUpdate()
〜
.CommandText = "str1"
Set parm = .CreateParameter("カナ氏名", adVarWChar, adParamInput, 50,
Forms(初期フォーム)![カナ氏名])
〜
Set rs = Nothing
DoCmd.OpenForm 照会結果フォーム
End Sub
Private Sub 個人番号_AfterUpdate()
〜
..CommandText = "str2"
Set parm = .CreateParameter("個人番号", adVarWChar, adParamInput, 50,
Forms(初期フォーム)![個人番号])
.Parameters.Append parm
.Execute
End With
Set rs = Nothing
Forms(照会結果フォーム).RecordSource = "str2"
Msg = "@個人番号 int = Forms![照会結果フォーム]![個人番号]"
Forms(照会結果フォーム.InputParameters = Msg
Forms(照会結果フォーム).[個人番号] = " "
DoCmd.OpenForm 照会結果フォーム
Exit Sub
「照会結果フォーム」のイベントプロシージャVBA
Private Sub カナ氏名_AfterUpdate()
〜
.CommandText = "str1"
Set parm = .CreateParameter("カナ氏名", adVarWChar, adParamInput, 50,
Forms(初期フォーム)![カナ氏名])
〜
Set rs = Nothing
Forms(初期フォーム)![カナ氏名])=Forms(照会結果フォーム)![カナ氏名])
DoCmd.OpenForm 照会結果フォーム
End Sub
Private Sub 個人番号_AfterUpdate()
〜
..CommandText = "str2"
Set parm = .CreateParameter("個人番号", adVarWChar, adParamInput, 50,
Forms(初期フォーム)![個人番号])
.Parameters.Append parm
.Execute
End With
Set rs = Nothing
Forms(初期フォーム)![個人番号])=Forms(照会結果フォーム)![個人番号])
Forms(照会結果フォーム).RecordSource = "str2"
Msg = "@個人番号 int = Forms![照会結果フォーム]![個人番号]"
Forms(照会結果フォーム.InputParameters = Msg
Forms(照会結果フォーム).[個人番号] = " "
DoCmd.OpenForm 照会結果フォーム
Exit Sub
seki
--0__=C6BBE45FDFB24C8F8f9e8a93df938690918cC6BBE45FDFB24C8F
Content-type: text/html; charset=ISO-2022-JP
Content-Disposition: inline
<html><body><font size="2" face="MS ゴシック">前回はご容赦下さい。</font><br>
<font size="2" face="MS ゴシック">ご指摘いただき、質問文書を訂正いたしました。</font><br>
<br>
<font size="2" face="MS ゴシック">やりたいことは</font><br>
<font size="2" face="MS ゴシック">・当初、照会結果フォームのレコードソースプロパティと入力パラメータプロパティに「カナ氏名」用の値を設定しておいて、個人番号入力時、フォーム出力直前にプログラムでプロパティの値を入れ替えたい。</font><br>
<br>
<font size="2" face="MS ゴシック">うまく行かない点</font><br>
<font size="2" face="MS ゴシック">・個人番号入力時、フォームがオープンできていないので変更ができません。(下線の部分)</font><br>
<br>
<br>
<font face="MS ゴシック">フォームに乗せているコントロール(表のつもり)</font><br>
<br>
<font face="MS ゴシック"> [コントロール] F[初期フォーム] F[照会結果フォーム]</font><br>
<br>
<font face="MS ゴシック">レコードソース ダミーレコード str1</font><br>
<br>
<font face="MS ゴシック">入力パラメータ ブランク @カナ氏名 TEXT FORMS("初期フォーム")![カナ氏名]</font><br>
<br>
<font face="MS ゴシック">イベントP Sub カナ氏名_AfterUpdate() 別途記載 別途記載</font><br>
<br>
<font face="MS ゴシック">イベントP Sub_個人番号_AfterUpdate() 別途記載 別途記載</font><br>
<br>
<br>
<br>
<font face="MS ゴシック">ストアドプロシージャ</font><br>
<font size="2" face="MS ゴシック">CREATE PROCEDURE str1</font><br>
<font size="2" face="MS ゴシック">@カナ氏名 nvarchar(50)</font><br>
<font size="2" face="MS ゴシック">AS</font><br>
<font size="2" face="MS ゴシック">select 住所 from 属性</font><br>
<font size="2" face="MS ゴシック">where カナ氏名=@カナ氏名</font><br>
<br>
<font size="2" face="MS ゴシック">CREATE PROCEDURE str2 </font><br>
<font size="2" face="MS ゴシック">@個人番号 int</font><br>
<font size="2" face="MS ゴシック">AS</font><br>
<font size="2" face="MS ゴシック">select 住所 from 属性</font><br>
<font size="2" face="MS ゴシック">where 個人番号 = @個人番号</font><br>
<br>
<font face="MS ゴシック">イベント P</font><br>
<font face="MS ゴシック">パラメータ項目およびVBAの構成に関わる箇所を抜き出しました。</font><br>
<br>
<font size="2" face="MS ゴシック">「初期フォーム」のイベントプロシージャVBA</font><br>
<font size="2" face="MS ゴシック">Private Sub カナ氏名_AfterUpdate()</font><br>
<font size="2" face="MS ゴシック">〜</font><br>
<font size="2" face="MS ゴシック">.CommandText = "str1" </font><br>
<font size="2" face="MS ゴシック">Set parm = .CreateParameter("カナ氏名", adVarWChar, adParamInput, 50, Forms(初期フォーム)![カナ氏名])</font><br>
<font size="2" face="MS ゴシック">〜</font><br>
<font size="2" face="MS ゴシック">Set rs = Nothing</font><br>
<font size="2" face="MS ゴシック">DoCmd.OpenForm 照会結果フォーム</font><br>
<font size="2" face="MS ゴシック">End Sub</font><br>
<br>
<font size="2" face="MS ゴシック">Private Sub 個人番号_AfterUpdate()</font><br>
<font size="2" face="MS ゴシック">〜</font><br>
<font size="2" face="MS ゴシック">..CommandText = "str2" </font><br>
<font size="2" face="MS ゴシック">Set parm = .CreateParameter("個人番号", adVarWChar, adParamInput, 50, Forms(初期フォーム)![個人番号])</font><br>
<font size="2" face="MS ゴシック">.Parameters.Append parm</font><br>
<font size="2" face="MS ゴシック">.Execute</font><br>
<font size="2" face="MS ゴシック">End With</font><br>
<font size="2" face="MS ゴシック">Set rs = Nothing</font><br>
<u><font size="2" face="MS ゴシック">Forms(照会結果フォーム).RecordSource = "str2"</font></u><br>
<font size="2" face="MS ゴシック">Msg = "@個人番号 int = Forms![照会結果フォーム]![個人番号]"</font><br>
<font size="2" face="MS ゴシック">Forms(照会結果フォーム.InputParameters = Msg</font><br>
<font size="2" face="MS ゴシック">Forms(照会結果フォーム).[個人番号] = " "</font><br>
<font size="2" face="MS ゴシック">DoCmd.OpenForm 照会結果フォーム </font><br>
<font size="2" face="MS ゴシック">Exit Sub</font><br>
<br>
<font size="2" face="MS ゴシック">「照会結果フォーム」のイベントプロシージャVBA</font><br>
<font size="2" face="MS ゴシック">Private Sub カナ氏名_AfterUpdate()</font><br>
<font size="2" face="MS ゴシック">〜</font><br>
<font size="2" face="MS ゴシック">.CommandText = "str1" </font><br>
<font size="2" face="MS ゴシック">Set parm = .CreateParameter("カナ氏名", adVarWChar, adParamInput, 50, Forms(初期フォーム)![カナ氏名])</font><br>
<font size="2" face="MS ゴシック">〜</font><br>
<font size="2" face="MS ゴシック">Set rs = Nothing</font><br>
<font size="2" face="MS ゴシック">Forms(初期フォーム)![カナ氏名])=Forms(照会結果フォーム)![カナ氏名])</font><br>
<br>
<font size="2" face="MS ゴシック">DoCmd.OpenForm 照会結果フォーム</font><br>
<font size="2" face="MS ゴシック">End Sub</font><br>
<br>
<font size="2" face="MS ゴシック">Private Sub 個人番号_AfterUpdate()</font><br>
<font size="2" face="MS ゴシック">〜</font><br>
<font size="2" face="MS ゴシック">..CommandText = "str2" </font><br>
<font size="2" face="MS ゴシック">Set parm = .CreateParameter("個人番号", adVarWChar, adParamInput, 50, Forms(初期フォーム)![個人番号])</font><br>
<font size="2" face="MS ゴシック">.Parameters.Append parm</font><br>
<font size="2" face="MS ゴシック">.Execute</font><br>
<font size="2" face="MS ゴシック">End With</font><br>
<font size="2" face="MS ゴシック">Set rs = Nothing</font><br>
<font size="2" face="MS ゴシック">Forms(初期フォーム)![個人番号])=Forms(照会結果フォーム)![個人番号])</font><br>
<font size="2" face="MS ゴシック">Forms(照会結果フォーム).RecordSource = "str2"</font><br>
<font size="2" face="MS ゴシック">Msg = "@個人番号 int = Forms![照会結果フォーム]![個人番号]"</font><br>
<font size="2" face="MS ゴシック">Forms(照会結果フォーム.InputParameters = Msg</font><br>
<font size="2" face="MS ゴシック">Forms(照会結果フォーム).[個人番号] = " "</font><br>
<font size="2" face="MS ゴシック">DoCmd.OpenForm 照会結果フォーム </font><br>
<font size="2" face="MS ゴシック">Exit Sub</font><br>
<br>
<font face="MS ゴシック">seki</font></body></html>
--0__=C6BBE45FDFB24C8F8f9e8a93df938690918cC6BBE45FDFB24C8F--
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|