2月7日 追記

動きました。
参考にしたのは、このサイト

上記サイトと同じ名前のテーブルを作り、フィールドも同じにし・・・。
ひとつずつ確認しながら、同じように順番に作っていったら、動きました。

動くことが確認できたら、動作を確認しながら変更していきます。
少しずつ手をつけないと、壊れたときに何が原因だかわからなくなります。

ただ、生徒さんの作られたデータベースがなぜ動かないのか、
それがわからず、四苦八苦です。

リレーションシップの参照整合性が多い原因のひとつはわかりました。
リレーションシップの重複というのかどうか、わかりませんが、
線が多かったです。
3つのテーブルは一直線でつなぎます。
右の図のように輪にしてはいけないようです。

原因のひとつがわかっても、まだ動きません。
どこかに、余計な何かが、足らない何かが、違う何かがあるのでしょう。

探しだすのは、「ウォーリー」を探すよりも大変かも。
一から慎重に、シンプルに作り、
動くことが確認できたら、データをインポートするのが楽ですね、きっと。

2月1日記載の本文

ネットのAccessの生徒さんが現在、必要としているのは、
大分類、中分類、小分類というように、
カテゴリーがリンクするコンボボックス。(ではないかと思います、確認中・・・)

たとえば、
大分類:肉、中分類:牛肉、小分類:ミンチ、という分類だとしたら、
大分類のコンボボックスのリストの中から「肉」を選択すると、
中分類のコンボボックスでは、肉の種類が、
牛肉、鶏肉、豚肉、ラム肉・・・などと、ドロップダウンします。

そういえば、去年、生徒さんがお持ちになったのも、ソレでした。
「動かないんです・・・」、と。
ほとんど自力で生徒さんが作り上げていたものを教室で少し手直しし、
動くようになりました。

その生徒さんのVBAを見ればいいのだろうけれど、残念ながらお預かりしておりません。
個人情報ですから。

オフィシャルサイト

Microsoftオフィシャルサイトの説明に基づいて、
サンプルデータベースで作ってみようと思った。
しかし”ここからダウンロード”、と指定されたリンク先にあるのは、オール英語のサンプル。
にもかかわらず、サイトの説明で、VBAは以下の日本語。

Me.商品.RowSource = “SELECT 商品名 FROM” & _
” 商品 WHERE 区分コード = ” & Me.商品区分 & _
” ORDER BY 商品名”
Me.商品 = Me.商品.ItemData(0)

そのままでは当然エラーになる。
傑作なのは、サイトでの以下の説明。(抜粋)

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものを
ありのままに記述しており、日本語環境での動作は確認されておりません。

なんじゃそりゃ。
めまいがしたので、このサイトでの勉強はやめにした。
数ある英語名のテーブルやフィールド名の中で、
どれが商品名で、商品で、区分コードで、商品区分なのか、わからんわ。

(つづく)