FileMaker 12, многостоловое объединение в портале
Как я могу представить объединение нескольких таблиц на портале, чтобы я мог использовать остальные функции FMP для навигации и т. Д.? (Например, используя ExecuteSQL
.)
Я говорю о таком простом списке, как объединение отношений:
Country -< District -< City
в списке вроде (возможно, не совсем корректно географически):
Country District/State City
---------------------------------------
USA NY-state NY-City
Canada Ontario Toronto
и т.п.
Я могу легко показать страну и город, но не могу показать район одновременно...
3 ответа
Описанные в таблице отношения верны. Однако необходимо то, на что ссылается @pft221, а именно создать другую таблицу (назовем ее View
), которая связана с City
Таблица:
View::View_id -x- City::City_id.
Если мы тогда на View
макет таблицы положить портал определяется City
мы можем перетащить в него все поля из трех других таблиц (и все они будут правильными).
Что я не понимал и до сих пор не до конца понимаю, так это важность появления таблиц в FMP (и правильного использования).
(Примечание: если вам нужна полная свобода от макетов, вы можете использовать ExecuteSQL, но для этого требуется кодирование каждого поля.)
Спасибо всем за помощь!Это решение является переводом с одного из приведенных на шведском filemakerforum.
С описанными вами отношениями это обычно так же просто, как иметь портал на основе таблицы Город, в который вы добавляете поля Город:: Имя, Район:: Имя и Страна:: Имя.
В зависимости от размера вашего списка, вы можете использовать функцию поиска на портале или использовать несколько порталов, чтобы пользователь мог переходить от страны к городу.
Самое простое решение состоит в том, чтобы включить в качестве полей расчета как название района / штата, так и название страны в таблице городов (и страну в таблице округов / штатов).
То есть для ТО Cities1
, District/State1
а также Countries1
при соединении "inline", как вы описываете, создайте поля расчета в таблице Cities (через TO Cities1
):
Countries1::CountryName
Distict/State1::DistrictName
и поле расчета в таблице State/District (через TO State/District1
):
Countries1::CountryName
Вы также должны установить индексирование на полное.
Таким образом, вам не нужно беспокоиться о том, как таблицы объединяются при отображении (или при выполнении более сложных взаимодействий). Фактически, вы можете переместить этот набор TO в одну сторону на вашей диаграмме отношений (группировка и разделение TO - хорошая практика).