У меня есть две базы данных Access: Main
хранит большинство моих данных и Memos
хранит данные типа данных Memo. Я храню заметки в отдельном db, потому что все, что я читал о полях Memo, сказал, что они подвержены коррупции и что единственным безопасным способом защиты вашей базы данных является наличие заметок в отдельном связанном db.Доступ: наложение ссылочной целостности на связанную таблицу
Memos
имеет таблицу Info
с полями: ID
(тип Autonumber первичный ключ) Info
(тип памятка)
Main
имеет таблицу Content
с полями: ID
(тип Autonumber первичный ключ) infoID
(типа Номер) entryDate
(тип Дата/Время)
Я хочу обеспечить ссылочную целостность на Content
, чтобы он мог принимать только значения, которые являются действительными идентификаторами из таблицы Info
. Но я не могу, потому что Memos
- это связанная база данных. Я могу установить элементы управления в другой точке процесса ввода данных, чтобы гарантировать, что только значения от Info
могут быть вставлены в Content
, но я бы предпочел не кодировать валидацию, если есть способ обеспечить ее использование с помощью ограничений базы данных.
Есть ли другой способ обеспечить целостность между связанными таблицами, о которых я не знаю, или другой способ справиться с проблемой хранения Memo, чтобы я мог хранить Memos в одной и той же БД?
Я думаю, что это старая проблема, не имеющая отношения к более поздним версиям (http://bytes.com/topic/access/answers/851398-memo-fields-multiuser-database). Какую версию вы используете? – Fionnuala
@Remou, я использую Access 2010. – sigil
Если вы не делаете много обновлений полей memo в неустойчивой сети, это не должно быть проблемой. Или используйте метод три в ссылке в моем первом комментарии (несвязанные элементы управления). Если вы действительно должны хранить отдельную таблицу, рассмотрите макросы данных, доступные с 2010 года, для проверки: http://blogs.office.com/b/microsoft-access/archive/2009/08/13/access-2010-data- macros-similar-to-triggers.aspx – Fionnuala