アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accessの初心者です。テキストを読みながら、フォームに配置したコンボボックスにイベントプロシージャを設定して実行したところ、エラーメッセージ表示されました。どなたか御指導頂ければ幸いです。

1.関連するオブジェクト
a) 一側テーブル名: T_選手プロフィール
 このテーブルに「ID_選手プロフィール」という主キーフィールドがあります。

b) 多側テーブル名: T_期間成績
 このテーブルに「選手プロフィール親ID」というフィールドがあります。

* リレーションシップウィンドウで「ID_選手プロフィール」と「選手プロフィール親ID」にリレーションシップを設定しました。

c) クエリ名: Q_期間成績_現役選手プロフィール
 このクエリの中に、「ID_選手プロフィール」と「氏名」と「登録番号」というフィールドがあります。

d) フォーム名: F_期間成績
サブフォーム「T_期間成績明細」を中に入れたフォームを作成しました。

2.フォーム上での操作
a) フォーム「F_期間成績」に、コンボボックス「登録番号_コンボ」というコンボボックスを配置しました。

b) このコンボボックスのコントロールソースは、c)の「Q_期間成績_現役選手プロフィール」の「選手プロフィール親ID」です。

c) このコンボボックスで選択した「ID_選手プロフィール」という値に対応する、「氏名」をフォームに新たに配置した非連結のテキストボックス「氏名_テキスト」に、「Q_期間成績_現役選手プロフィール」の「氏名」フィールドの値を表示させようとしています。

d) 「登録_コンボ」コンボボックスの更新後処理からコードビルダーを起動し、テキストを参照しながら以下のコードを書きました。

Private Sub 登録番号_コンボ_AfterUpdate()
Name = DLookup("[氏名]", "Q_期間成績_現役選手プロフィール", "登録番号=登録番号_コンボ")

If Not IsNull(Name) Then
氏名_テキスト = Name
End If

End Sub

e) フォームにてコンボボックスを操作したところ、「実行時エラー '94': Nullの使い方が不正です。」という実行時エラーが表示されました。色々と試してみましたが、上手くいきませんでした。

分かりにくい説明で恐縮ですが、宜しくお願い致します。

「Access2010 イベントプロシージ」の質問画像

A 回答 (1件)

パッと見でおかしいのは


>Name = DLookup("[氏名]", "Q_期間成績_現役選手プロフィール", "登録番号=登録番号_コンボ")
Name = DLookup("[氏名]", "Q_期間成績_現役選手プロフィール", "登録番号=" & me!登録番号_コンボ)
でしょうか。
"登録番号=" & me!登録番号_コンボ
とすれば、登録番号=2 などとAccessが解釈できます。

あと、
Name はAccessのプロパティなどで使用されているので適切ではありません。
Access の予約語と記号
http://office.microsoft.com/ja-jp/access-help/HA …
    • good
    • 0
この回答へのお礼

御返答有り難うございました。
正しく作動するようになりました。Access の予約語と記号の情報もとても役に立ちました。

お礼日時:2013/06/23 10:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!