私は2つのアクセスデータベースを持っています:Main
は私のデータのほとんどを格納し、Memos
はデータ型メモのデータを格納します。 Memoフィールドについて読んだことはすべて、それらが腐敗する傾向があり、データベースを保護する唯一の安全な方法は、別々のリンクされたデータベースにメモを入れることだということだから、メモを別のデータベースに保存しています。アクセス:リンクテーブルに参照整合性を課す
Memos
はテーブルのフィールドとInfo
を有する: ID
(タイプ自動番号プライマリキー) Info
(タイプメモ)
Main
はテーブルのフィールドとContent
を有する: ID
(タイプ自動番号プライマリキー) infoID
(タイプ番号) entryDate
(タイプ日付/時刻)
私は参照整合性をオンにしたいテーブルInfo
からの有効なIDである値のみを受け入れることができるように、Content
を入力します。しかし、私はできません。Memos
はリンクされたデータベースです。私は、Info
の値だけをContent
に挿入できるように、データ入力プロセスの別のポイントでコントロールを設定できますが、データベースの制約によってそれを強制する方法があれば、コードを検証しないでください。
私が気付いていないリンクテーブル間で整合性を強制するもう1つの方法はありますか?同じDBにメモを保存できるようにMemoストレージの問題を処理する別の方法はありますか?
これは古い問題だと思いますが、最近のバージョン(http://bytes.com/topic/access/answers/851398-memo-fields-multiuser-database)には関係ありません。どのバージョンをお使いですか? – Fionnuala
@Remou、私はAccess 2010を使用しています。 – sigil
不安定なネットワーク上でメモフィールドの更新をたくさん行っているのでなければ、それは問題ではありません。または、私の最初のコメント(リンクされていないコントロール)のリンクでメソッド3を使用します。別のテーブルを実際に保持する必要がある場合は、2010年以降に利用可能なデータマクロを検証することを検討してください。http://blogs.office.com/b/microsoft-access/archive/2009/08/13/access-2010-data- macros-similar-to-triggers.aspx – Fionnuala