Создание макета Filemaker для добавления от 0 до n записей к записи в другой таблице. - PullRequest
1 голос
/ 14 сентября 2011

У меня есть 3 таблицы (для ясности перечисляю только некоторые поля):

Таблица 1 ( ID , Описание1 )

Таблица 2 ( ID , Описание2 )

Таблица 3 ( ID , Table1ID , Table2ID )

По сути, я использую Таблица 3 , чтобы создать соединение «многие ко многим» (и связало различные идентификаторы через вкладку отношений и установило поля идентификаторов для автоматического создания). Я хочу иметь возможность создать макет со всеми записями из Таблица 1 и позволить пользователю выбрать от 0 до n элементов из Таблица 2 в раскрывающемся списке.

Пока у меня есть макет, содержащий поле Таблица 1 Описание 1 , и я пытался установить портал с полем Описание 2 из Таблица 2 . Затем я изменил стиль элемента управления на раскрывающийся список с помощью инспектора и Таблица 2 в свойстве Значения из:.

Я не уверен, возможно ли это или правильный подход. Я надеялся, что Filemaker использует график отношений и создаст необходимые записи (по существу, записи в Таблице 3 , связывающие их вместе), но я получаю следующую ошибку: " Эта операция не может быть выполнено, потому что одна или несколько обязательных связанных записей недоступны и не могут быть созданы. "

Буду признателен за любую помощь, и, пожалуйста, будьте осторожны с новичком в Filemaker: o)

Ответы [ 2 ]

3 голосов
/ 23 сентября 2011

Первый шаг - создать список значений (который не является частью графа отношений). Вы делаете это в File> Manage> Value Lists.

Вы можете создать новый список значений и сообщить ему Использовать значения из поля (первый параметр радио, не выбранный на изображении):

Use values from field

Однажды в диалоге Использовать значения из поля , вы также можете выбрать отображение значений из второго поля (идентификатор является первым, описание - 2), включить все значения и только показать значения из первого поля (чтобы скрыть идентификатор от пользователя).

enter image description here

Вы правы в том, что ваш график отношений будет выполнять работу по созданию связанных записей и заполнению ключей для вас. Это должно выглядеть так:

Relationship graph

Важно, чтобы ' Разрешить создание записей в этой таблице с помощью этого отношения ' проверялось в ваших отношениях, а именно:

Allow creation of records in this table via this relationship is checked

Ваш макет, как вы сказали, основан на таблице один, а ваш портал смотрит на таблицу три. ' Показать вертикальную полосу прокрутки ' позволит вам создавать неограниченное количество связанных записей. Если этот параметр не выбран, вы ограничены количеством строк на портале.

enter image description here

Вот и все. Сохраните макет, создайте запись в таблице 1, и вы можете создавать связанные записи с помощью графика отношений без необходимости сценариев.

Вы сохраняете идентификатор и отображаете описание.

Success!

0 голосов
/ 14 сентября 2011

Это почти правильно; вам нужен портал к Таблице 3, позволяющий создавать записи с помощью этого отношения, поместить туда Table3 :: Table2ID и отформатировать его как всплывающее меню. Список значений для меню должен быть основан на Table2 и включать Table2 :: ID и Table2 :: Description2; вы, вероятно, захотите показать только второй столбец.

Когда вы выбираете элемент из меню, FileMaker добавит новую запись в Таблицу 3 с необходимыми идентификаторами (или изменит существующую запись, если вы изменяете строку).

...