では、思いつく限りで あと4つほど提案してみます。
以下のいずれでもダメだった場合、ちょっとお手上げですね。
【 1 】
循環参照という可能性も無くはないと思いますから
その可能性も検証してみましょう。
Data1, Data2 というコントロール名を Recordset のカラム名とは異なる名前に変更します。
Data1 から Data_1 に変更
Data2 から Data_2 に変更コントロールソースに値を代入する際、Recordset のカラム名を [ ] で括って
オブジェクト名であることを明記しますMe. ではなく、Forms("フォーム名").Controls("コントロール名") として
Access が誤認識する余地を完全に無くします。
※ フォーム名はご自身の環境に合わせて下さいね。
その結果、以下のようになるはずの
Forms("フォーム名").Controls("Data_1").ControlSource = "[" & rs![data1].Name & "]"
Forms("フォーム名").Controls("Data_2").ControlSource = "[" & rs![data2].Name & "]"
といった記述でも #Name? になりますか。
【 2 】
( くろさんから垣間見えるスキルからして、可能性は限りなく低いと見てはいますけど )
フォーム名やテーブルの列名といったオブジェクト名において
- 記号(アンダースコア除く)
- 半角カナ
- 全角英数
といった怪しい文字を使っていたら、一旦全て半角英数に変更。
【 3 】
「 ファイル 」メニューから
「 オプション 」→ 「 現在のデータベース 」と進み、
「 名前の自動修正オプション 」にあるチェック項目を全て外す
【 4 】
新規の accdb を作成し、全てのオブジェクトをインポートしてみる
通報 ...