Microsoft Access 掲示板

Access64bit版だと、帳票フォームのテキストボックスに#Name?が表示されます / 4

12 コメント
views
4 フォロー
4
mayu 2021/08/30 (月) 19:46:39 修正 ef559@a99f1 >> 3

では、思いつく限りで あと4つほど提案してみます。
以下のいずれでもダメだった場合、ちょっとお手上げですね。

【 1 】

循環参照という可能性も無くはないと思いますから
その可能性も検証してみましょう。

  1. Data1, Data2 というコントロール名を Recordset のカラム名とは異なる名前に変更します。
     Data1 から Data_1 に変更
     Data2 から Data_2 に変更

  2. コントロールソースに値を代入する際、Recordset のカラム名を [ ] で括って
      オブジェクト名であることを明記します

  3. 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 を作成し、全てのオブジェクトをインポートしてみる

通報 ...