2012-11-16 3 views
1

포털에 멀티 테이블 조인을 제공하면 나머지 FMP 기능을 탐색 등에 사용할 수 있습니까? (예를 들어, ExecuteSQL를 사용.)FileMaker 12, 포털의 다중 테이블 조인

나는 관계의 조인 등의 간단한 목록에 대해 이야기하고

:

Country -< District -< City 

을 같은 목록에서 (아마도 완전히 정확하지 지리적으로) :

Country  District/State  City 
--------------------------------------- 
USA   NY-state   NY-City 
Canada  Ontario   Toronto 

내가 쉽게 나라와 도시를 표시 할 수 있지만, 동시에 지구를 표시 할 수 없습니다 ...

+0

지구를 귀하의 목록에 추가하는 데 문제가 있습니까? 당신이 설명하는 관계로, 이것은 일반적으로 City :: Name, District :: Name 및 Country :: Name 필드를 추가하는 테이블 City를 기반으로하는 포털을 갖는 것처럼 쉽습니다. – pft221

+0

감사! FMP를 사용한 이래로 오래되었습니다. ExecutSQL을 더 멀리, relationshipswise, 간단한 부모 - 자식으로 생각했습니다. – Idonodi

+0

지구/국가 및 국가를 계산 표로 지구 표에 추가하는 것이 왜 포털의 조인에 대해 걱정할 필요가 없습니까? –

답변

0

당신이 설명하는 관계로, 이것은 보통 City :: Name, District :: Name 및 Country :: Name 필드를 추가하는 테이블 City를 기반으로하는 포털을 갖는 것처럼 쉽습니다.

목록의 크기에 따라 포털 검색 기능을 사용하거나 여러 포털을 사용하여 사용자가 국가 간을 자세히 볼 수 있도록 할 수 있습니다.

+0

글쎄, 내가 해냈어 (주요) 국가 테이블 레이아웃에서 레코드를 변경할 때 작동하지만 각 국가마다 하나의 지구가있을 때만 작동하는 것처럼 보였다. 캐나다 온타리오 토론토 캐나다 온타리오 퀘벡 – Idonodi

+0

(편집) 글쎄, 난 이런 짓을하고는 (주 레코드를 변경할 때 일 듯 : 나는 관련 Citys으로 한 지구 이상이있는 경우는이 같은 테이블을 표시합니다) 각 국가마다 하나의 지구가있는 경우에만 국가 테이블 레이아웃. 관련 도시가있는 지구가 두 개 이상인 경우 다음과 같은 표가 표시됩니다. 캐나다, 온타리오 주, 토론토 | 캐나다, 온타리오, 퀘벡 등 : 캐나다, 온타리오, 토론토 | 캐나다, Quebec, Quebec. 나는. 모든 포털 행에 대해 District의 첫 번째 발생 만 표시합니다. 일반 FMP 포털로 처리 할 수 ​​있습니까? – Idonodi

+0

포털의 계산 된 필드에서 ExecuteSQL을 사용하고 포털 행의 PK를 선택하는 매개 변수를 통해 방법을 발견했습니다. 그러나 간단한 일을위한 복잡한 경로처럼 보인다! – Idonodi

0

가장 쉬운 해결책은 은 도시 테이블 (및 지구/주 테이블의 국가)을 계산 필드로 포함하는 구/군 /시 이름과 국가 이름을 모두 포함하는 것입니다. 국가에

Countries1::CountryName 
Distict/State1::DistrictName 

및 계산 필드 : TO들 Cities1, District/State1Countries1를 들면,

는 "인라인"당신이 설명하는대로 (Cities1에를 통해) 도시 테이블에 계산 필드를 만들 합류/(State/District1에 통해) 지구 테이블 : 또한 전체에 색인을 설정해야합니다

Countries1::CountryName 

.

이렇게하면 표시 할 때 (또는 복잡한 상호 작용을 할 때) 표가 결합되는 방식에 대해 걱정할 필요가 없습니다. 실제로이 TO 세트를 관계 다이어그램 의 한쪽으로 이동할 수 있습니다 (TO 그룹화 및 구분은 우수 사례입니다).

+0

글쎄, 나는 국가 - 지구 - 도시 문제를 해결하는데 특별히 관심이 없다. 나는 이것을 사용하여 공통의 관계를 증명하고있다. 나는 그것이 나를 위해 어떻게 작동하는지보기 위해 FMP를 실험하고있다. 내가 말했듯이, 그것은 ExecuteSQL으로 해결 될 수 있지만, FMP 포털에서 동일한 행에 올바르게 나라와 도시를 표시 할 수 있기 때문에, 이것은 내부적으로 SQL을 사용하기 때문에 FMP는 (지구가 올 인 '알'을 의미 I 배웠다.) 올바른 지구를 쉽게 보여줄 수 없다는 것은 이상한 일입니다. 왜냐하면 말하기에는 '중간'이기 때문입니다. – Idonodi

+0

이 방법은 Country-District-City 예제뿐만 아니라 일반적인 관용구입니다. –

+0

이것은 관련 필드/열을 목록에 표시하는 매우 복잡한 해결 방법입니다! 그래서 나는 다른 테이블을 보여주기 위해 테이블에 계산 된 여러 필드를 추가해야합니다! 이를 방지하기 위해 관계형 데이터베이스를 발명 한 것입니다. 따라서 pft221에서 제안한대로 FMP12에서는 포털의 열 (필드)을 표시하는 것이 불가능합니다. 내 목표는 포털에서 중간 테이블 열을 표시하는 것이었기 때문에 ExecuteSQL을 사용하는 것이 더 간단하고 우아하다고 생각합니다. – Idonodi

1

설명 된 테이블 관계가 정확합니다. 우리는 다음 View 테이블 레이아웃에 넣어에 경우

View::View_id -x- City::City_id. 

: 필요한 것은, 그러나, 즉 City 테이블과 관련된 다른 테이블을 (의이 View를 호출하자), 생성, 참조 무엇 pft221 @입니다 포털은 City으로 정의되어 있으므로 다른 세 테이블의 모든 필드를 끌어다 놓을 수 있습니다.

내가 이해하지 못했지만 여전히 완전히 이해하지 못하는 부분은 이고 테이블 발생의 중요성은 FFF에서 (그리고 올바른 것을 사용하여)입니다.

(참고 : 레이아웃이 완전히 필요 없으면 ExecuteSQL을 사용할 수 있지만 각 필드를 코딩해야합니다.)

모든 도움의 손 덕분에! 이 솔루션은 the swedish filemakerforum에 주어진 것의 번역입니다.

+0

각 포털 레이아웃에 대해 새 * 테이블 *이 있습니까? (당신은 TO의 중요성에 대해 옳았습니다 : 내가 본 많은 FM 데이터베이스는 그것들을 아주 잘 사용하지 않습니다. 그들의 목적은 관계 다이어그램이 연결된 것을 보장하는 것 같습니다 ...!) –

+0

나는 이것을 정말로 분류하지 않았습니다. ,하지만 내가 가장 낮은 '바닥'그랜드 그랜드 .... 자식 테이블에 연결하는 TO를 만들면, 나는 '가장 높은'상위 조부모 테이블에 '모든 방향으로'보게되는 포털을 가질 수있게 될 것입니다. 나는 '최고'그랜드 그랜드 ... 부모에게 내 제품에 연결하면 다른 한편으로 , 그것은 단지 그 사이, ... 흠 각 관련 테이블의 첫 번째 행에 연결된 손자를 볼 수 있습니다. 당신이 스레드 "비자 FALT 프랜 flera relaterade tabeller 내가 엉 포털"보는 경우 filemakerforum (위 링크)에서 다운로드 할 파일을 찾을 수 있습니다 – Idonodi

+0

은 꽤 ...이 얻을 아직 없습니다. 아마도 가입해야 할 것입니다. 테이블은 이해하기 쉽습니다. – Idonodi