サブフォームにデータシートがあるメイン フォームを使用する Access 2003 データベースがあります。メイン フォームでは、サブフォームのレコード ソースを更新するメニューから選択できます。サブフォームは、フォームのレコードソース内のフィールドの数とタイプに基づいて、編集に使用できるフィールドの数とタイプも更新します。これは基本的に動的データシート ジェネレーターです。これは、Access 2003 で問題なく機能し、何年も前から機能しています。Access 2007 (フルまたはランタイム) で同じデータベースを開くと、ほとんどのメニュー選択が機能します。ただし、特定の 1 つのテーブルを参照するメニュー オプションを選択すると、サブフォームには列ヘッダーが表示されますが、データ行やエラーは表示されません。クエリがゼロ行を返すかのようです。Access 2007 に違いがあるのはなぜですか? 彼らは新しい予約語を追加しましたか?
私が試したこと:
- テーブル内のすべてのフィールドを更新して、NULL 値がないようにします (変更なし)。
- 新しい予約語がある場合に備えて、すべてのフィールドとテーブル名の名前を変更しました (変更なし)
- フロントエンドとバックエンドを圧縮して修復(変更なし)
- フィールドを1つずつ含めたり除外したりして、何かが変更されたかどうかを確認しました(変更なし)
- フォームのレコードソースを新しいクエリに入れます。(期待される行数を返しました)
- フォームがデータ入力モードに設定されていないことを確認しました。(そうではありません)
- コードにフィルタが適用されていないことを確認しました。(どれもありませんでした)
- クエリが Access 2007 で更新可能であることを確認しました。 (そうです)
- ソース テーブルからデータのチャンクを選択的に削除しました。(変化なし)
私は困惑しています。