【FileMaker】기존의 윈도우는 하나만 표시하고 싶다

3345 단어 FileMaker
자주 「다음」이라든지 「품목 표시」라든지 같은 레이아웃을 신규 윈도우로 표시하고 싶지만, 같은 레이아웃의 윈도우가 표시되는 것은 이어, 하나의 윈도우로 해, 라고 하는 컨트롤의 방법입니다.

움직임



예를 들어, 이런 왈라왈라와 복수의 윈도우가 표시되고 있을 때.


그리고 또 하나 김에 돈.

보기 버튼으로 새 화면을 열고 있습니다.

미묘하게 창의 이름이 다르다는 것을 깨달았습니까?


이 상태로 표시 버튼을 누를 때마다 새 창이 열립니다.

이것을 어떻게든 같은 창 이름을 열려고 하면 기존의 윈도우를 전면에 내보내라는 스크립트로 컨트롤합니다.
그럼, 「표시」버튼의 스크립트를 개수해 갑니다.

스크립트


エラー処理 [ オン ]
変数を設定 [ $windowname ; 値: GetValue ( Get(スクリプト引数) ; 1 ) ] 
変数を設定 [ $windowlayout ; 値: GetValue ( Get(スクリプト引数) ; 2 ) ] 
変数を設定 [ $retWindow ; 値: Substitute ( Trim ( FilterValues ( WindowNames ( Get(ファイル名 )) ; $windowname ) ) ; "¶" ; "" ) ] 
If [ $windowname = $retWindow ] 
    ウインドウを選択 [ 名前: $windowname ; 現在のファイル ] 
Else
    新規ウインドウ [ スタイル: ドキュメント ; 名前: $windowname ; 使用するレイアウト: $windowlayout ] 
End If

스크립트의 포인트가 2개 있습니다.

포인트 1



윈도우명을 취득할 때에, 약간의 세공을 합니다.

이 스크립트에서 "동일한 창 이름"이 있는지 여부는 "WindowNames"라는 함수로 현재 열려있는 창의 이름 목록에서 지정된 창 이름을 찾아 "FilterValues"로 창 이름 그냥 얻는 것입니다.
플러스, 리스트로부터 취득했을 때에 불필요한 공백을 삭제하거나, 개행 마크가 있으면 그것을 생략하는 등의 세공을 추가해, 올바르게 윈도우명을 취득할 수 있도록 해 둡니다.
変数を設定 [ $retWindow ; 値: Substitute ( Trim ( FilterValues ( WindowNames ( Get(ファイル名 )) ; $windowname ) ) ; "¶" ; "" ) ] 

포인트 2



그런 다음 "동일한 창 이름"이 추출되어 존재하면 어떻게 할지, 존재하지 않으면 어떻게한다는 분기를 만듭니다.
If [ $windowname = $retWindow ] 
    ウインドウを選択 [ 名前: $windowname ; 現在のファイル ] 
Else
    新規ウインドウ [ スタイル: ドキュメント ; 名前: $windowname ; 使用するレイアウト: $windowlayout ] 
End If

버튼 지정



표시 버튼은 아래 그림과 같이 만든 스크립트와 인수를 지정합니다.


인수 2번째는, 신규 윈도우로 표시하는 레이아웃명이 됩니다.
기존 창이 존재할 때는 사용하지 않습니다.

요약



열고 싶은 윈도우가 있을 때는, 메뉴의 「윈도우」로 선택하면 좋지 않을까, 라는 생각도 듭니다만, 일반적인 시스템을 사용하는 사람에게는 접하고 싶지 않은 메뉴도 있지요.

업무 시스템은, FileMaker를 모르는 사람도 사용하므로, 가능한 한 메뉴를 사용하지 않는 컨트롤을 구현해 가고, FileMaker를 사용하고 있는 것을 의식하지 않고 업무에 집중해 주실 수 있으면 기쁘네요.

그 밖에도 방법은 있다고 생각합니다만, 기존 윈도우를 앞에 내는 하나의 방법으로서, 여러분의 참고가 되면 다행입니다.

그럼 재미있는 FileMaker Life를!

추가



더 쉽게 구현하고 싶습니다!
열려있는 창이 많기 때문에 가능하면 바삭 바꾸고 싶다!
라는 분, 여기 의 실장 방법을 참고해 주세요~.

좋은 웹페이지 즐겨찾기