2022年1月20日木曜日

FileMaker ExecuteSQL の戻り値を JSON で取得する|Getting the return value of ExecuteSQL as JSON

 ExecuteSQL の戻り値を JSON で取得する

  • 変数を設定 [ $query; 値:
    Let ( [
    $query ="select
    '(((.Code.))):(((.'||`Code`||'.)))'
    ,'(((.Name.))):(((.'||`Name`||'.)))'
    FROM `Position`
    WHERE `Name` LIKE '%{名称}%'
    FETCH FIRST 10000 ROWS ONLY "
    ];
     Substitute ( $query
     ; ["`"; "\""]
     ; ["{名称}"; ValueListsThing::g_Search ]
     )
    ) ]
  • 変数を設定 [ $Result; 値:ExecuteSQL ( $query ; "," ; "},{" ) ]
  • 変数を設定 [ $Result; 値:"[{" & Substitute ( $Result ; [¶ ; "\\n"] ; ["\"" ; "\\\""] ; ["(((." ; "\""] ; [".)))" ; "\""] ) & "}]" ]

Getting the return value of ExecuteSQL as JSON

  • Set Variable [ $query; Value:
    Let ( [
    $query ="select
    '(((.Code.))):(((.'||`Code`||'.)))'
    ,'(((.Name.))):(((.'||`Name`||'.)))'
    FROM `Position`
    WHERE `Name` LIKE '%{名称}%'
    FETCH FIRST 10000 ROWS ONLY "
    ];
     Substitute ( $query
     ; ["`"; "\""]
     ; ["{名称}"; ValueListsThing::g_Search ]
     )
    ) ]
  • Set Variable [ $Result; Value:ExecuteSQL ( $query ; "," ; "},{" ) ]
  • Set Variable [ $Result; Value:"[{" & Substitute ( $Result ; [¶ ; "\\n"] ; ["\"" ; "\\\""] ; ["(((." ; "\""] ; [".)))" ; "\""] ) & "}]" ]

2021年11月11日木曜日

FileMaker Treeview Navigation

 -

-

-

-

-

-

-

-

-

スクリプト名NavHide(PortalRowNumber)
  • 変数を設定 [ $arg; 値:Get(スクリプト引数) ]
  • If [ IsEmpty ( $arg ) ]
  • 現在のスクリプト終了 [ ]
  • End If
  • 変数を設定 [ $targetPortalRowNumber; 値:$arg ]
  • 変数を設定 [ $_kActive; 値:GetNthRecord ( NavSelector»Nav::_k ; $targetPortalRowNumber ) ]
  • 変数を設定 [ $PortalRowNumber; 値:$targetPortalRowNumber + 1 ]
  • 変数を設定 [ $filter; 値:NavSelector::gNavFilter ]
  • 変数を設定 [ $level; 値:"" ]
  • 変数を設定 [ $MAX; 値:Count ( NavSelector»Nav::_k ) ]
  • Loop
  • Exit Loop If [ $PortalRowNumber > $MAX ]
  • Exit Loop If [ Length ( $level )>Length ( GetNthRecord(NavSelector»Nav::level;$PortalRowNumber) ) ]
  • Exit Loop If [ IsEmpty ( GetNthRecord(NavSelector»Nav::level;$PortalRowNumber) ) ]
  • 変数を設定 [ $_kPotal; 値:GetNthRecord( NavSelector»Nav::_k ; $PortalRowNumber ) ]
  • 変数を設定 [ $filter; 値:Substitute ( $filter ; $_kPotal ; $_kActive & "/" & $_kPotal) ]
  • If [ IsEmpty ( $level ) ]
  • 変数を設定 [ $level; 値:GetNthRecord( NavSelector»Nav::level ; $PortalRowNumber ) ]
  • End If
  • 変数を設定 [ $PortalRowNumber; 値:$PortalRowNumber+1 ]
  • End Loop
  • フィールド設定 [ NavSelector::gNavFilter; $filter ]
  • レコード/検索条件確定 [ ダイアログなし ]
  • ポータルの更新 [ オブジェクト名: "portal_Nav" ]

-

スクリプト名NavShow(_kChild)
  • 変数を設定 [ $arg; 値:Get(スクリプト引数) ]
  • If [ IsEmpty ( $arg ) ]
  • 現在のスクリプト終了 [ ]
  • End If
  • 変数を設定 [ $_kNav; 値:$arg ]
  • フィールド設定 [ NavSelector::gNavFilter; Substitute ( NavSelector::gNavFilter; $_kNav & "/" ; "" ) ]
  • レコード/検索条件確定 [ ダイアログなし ]
  • ポータルの更新 [ オブジェクト名: "portal_Nav" ]

-

スクリプト名NavShowAll
  • フィールド設定 [ NavSelector::gNavFilter; Let( ~val=Substitute ( NavSelector::gNavFilter ; "/" ; ¶ ) ; UniqueValues ( ~val ; 1 ) ) ]
  • レコード/検索条件確定 [ ダイアログなし ]
  • ポータルの更新 [ オブジェクト名: "portal_Nav" ]

-

スクリプト名NavHideAll
  • 変数を設定 [ $MAX; 値:Count ( NavSelector»Nav::_k ) ]
  • 変数を設定 [ $PortalRowNumber; 値:$MAX ]
  • Loop
  • Exit Loop If [ $PortalRowNumber ≤ 0 ]
  • 変数を設定 [ $_kPotal; 値:GetNthRecord ( NavSelector»Nav::_k ; $PortalRowNumber ) ]
  • If [ PatternCount ( $filter ; $_kPotal & "/" )=0 and $MAX ≠ $PortalRowNumber ]
  • 変数を設定 [ $bool; 値:Let([ ~p1=GetNthRecord ( NavSelector»Nav::level ; $PortalRowNumber ) ;~p2=GetNthRecord ( NavSelector»Nav::level ; $PortalRowNumber+1 ) ]; Case( ~p1 = ~p2 ; 0; IsEmpty ( ~p2 ) ; 0; Length ( ~p1 )>Length ( ~p2 ) ; 0; 1 ) ) ]
  • If [ $bool ]
  • スクリプト実行 [ 「NavHide(PortalRowNumber)」; 引数: $PortalRowNumber ]
  • End If
  • End If
  • 変数を設定 [ $PortalRowNumber; 値:$PortalRowNumber-1 ]
  • End Loop
  • レコード/検索条件確定 [ ダイアログなし ]
  • ポータルの更新 [ オブジェクト名: "portal_Nav" ]

-

2021年4月21日水曜日

FileMaker 取得関数 日本語/英語|FileMaker Get Function Japanese / English

FileMaker 取得関数 日本語/英語|FileMaker Get Function Japanese / English
19.2.2

Get (アカウント拡張アクセス権)Get (AccountExtendedPrivileges)
Get (アカウントグループ名)Get (AccountGroupName)
Get (アカウント名)Get (AccountName)
Get (アカウントアクセス権セット名)Get (AccountPrivilegeSetName)
Get (アカウントタイプ)Get (AccountType)
Get (アクティブフィールド内容)Get (ActiveFieldContents)
Get (アクティブフィールド名)Get (ActiveFieldName)
Get (アクティブフィールドテーブル名)Get (ActiveFieldTableName)
Get (アクティブレイアウトオブジェクト名)Get (ActiveLayoutObjectName)
Get (アクティブ修飾キー)Get (ActiveModifierKeys)
Get (アクティブポータル行番号)Get (ActivePortalRowNumber)
Get (アクティブレコード番号)Get (ActiveRecordNumber)
Get (アクティブ繰り返し位置番号)Get (ActiveRepetitionNumber)
Get (アクティブ選択サイズ)Get (ActiveSelectionSize)
Get (アクティブ選択位置)Get (ActiveSelectionStart)
Get (ユーザによる強制終了許可状態)Get (AllowAbortState)
Get (書式設定バーの表示状態)Get (AllowFormattingBarState)
Get (アプリケーションアーキテクチャ)Get (ApplicationArchitecture)
Get (アプリケーション言語)Get (ApplicationLanguage)
Get (アプリケーションバージョン)Get (ApplicationVersion)
Get (計算式繰り返し位置番号)Get (CalculationRepetitionNumber)
Get (接続属性)Get (ConnectionAttributes)
Get (接続状態)Get (ConnectionState)
Get (日付)Get (CurrentDate)
Get (現在の拡張アクセス権)Get (CurrentExtendedPrivileges)
Get (ホストのタイムスタンプ)Get (CurrentHostTimestamp)
Get (現在のアクセス権セット名)Get (CurrentPrivilegeSetName)
Get (時刻)Get (CurrentTime)
Get (タイムスタンプ)Get (CurrentTimestamp)
Get (現在の時刻 UTC ミリ秒)Get (CurrentTimeUTCMilliseconds)
Get (カスタムメニューセット名)Get (CustomMenuSetName)
Get (デスクトップパス)Get (DesktopPath)
Get (デバイス)Get (Device)
Get (ドキュメントパス)Get (DocumentsPath)
Get (ドキュメントパス一覧)Get (DocumentsPathListing)
Get (暗号化状態)Get (EncryptionState)
Get (エラー処理状態)Get (ErrorCaptureState)
Get (ファイルロケール要素)Get (FileLocaleElements)
Get (FileMaker パス)Get (FileMakerPath)
Get (ファイル名)Get (FileName)
Get (ファイルパス)Get (FilePath)
Get (ファイルサイズ)Get (FileSize)
Get (対象レコード数)Get (FoundCount)
Get (ハイコントラスト状態)Get (HighContrastState)
Get (ホストアプリケーションバージョン)Get (HostApplicationVersion)
Get (ホスト IP アドレス)Get (HostIPAddress)
Get (ホスト名)Get (HostName)
Get (インストールされた FM プラグイン)Get (InstalledFMPlugins)
Get (インストールされた FM プラグインの JSON)Get (InstalledFMPluginsAsJSON)
Get (最終エラー)Get (LastError)
Get (最終外部エラー詳細)Get (LastExternalErrorDetail)
Get (最終メッセージ選択)Get (LastMessageChoice)
Get (レイアウトアクセス)Get (LayoutAccess)
Get (レイアウト数)Get (LayoutCount)
Get (レイアウト名)Get (LayoutName)
Get (レイアウト番号)Get (LayoutNumber)
Get (レイアウトテーブル名)Get (LayoutTableName)
Get (レイアウト表示状態)Get (LayoutViewState)
Get (メニューバー状態)Get (MenubarState)
Get (変更されたフィールド)Get (ModifiedFields)
Get (ファイル共有状態)Get (MultiUserState)
Get (ネットワークプロトコル)Get (NetworkProtocol)
Get (ネットワークタイプ)Get (NetworkType)
Get (オープンデータファイル情報)Get (OpenDataFileInfo)
Get (ページ数)Get (PageCount)
Get (ページ番号)Get (PageNumber)
Get (持続 ID)Get (PersistentID)
Get (環境設定パス)Get (PreferencesPath)
Get (プリンタ名)Get (PrinterName)
Get (クイック検索テキスト)Get (QuickFindText)
Get (レコードアクセス)Get (RecordAccess)
Get (レコード ID)Get (RecordID)
Get (レコード編集回数)Get (RecordModificationCount)
Get (レコード番号)Get (RecordNumber)
Get (開いているレコード数)Get (RecordOpenCount)
Get (レコードのオープン状態)Get (RecordOpenState)
Get (領域監視イベント)Get (RegionMonitorEvents)
Get (検索条件数)Get (RequestCount)
Get (検索条件除外状態)Get (RequestOmitState)
Get (スクリーン深さ)Get (ScreenDepth)
Get (スクリーン高さ)Get (ScreenHeight)
Get (スクリーン倍率)Get (ScreenScaleFactor)
Get (スクリーン幅)Get (ScreenWidth)
Get (スクリプトアニメーション状態)Get (ScriptAnimationState)
Get (スクリプト名)Get (ScriptName)
Get (スクリプト引数)Get (ScriptParameter)
Get (スクリプトの結果)Get (ScriptResult)
Get (ソート状態)Get (SortState)
Get (ステータスエリア状態)Get (StatusAreaState)
Get (システムの外観)Get (SystemAppearance)
Get (システムドライブ)Get (SystemDrive)
Get (システム IP アドレス)Get (SystemIPAddress)
Get (システム言語)Get (SystemLanguage)
Get (システムロケール要素)Get (SystemLocaleElements)
Get (システム NIC アドレス)Get (SystemNICAddress)
Get (システムプラットフォーム)Get (SystemPlatform)
Get (システムバージョン)Get (SystemVersion)
Get (テンポラリパス)Get (TemporaryPath)
Get (テキスト定規表示)Get (TextRulerVisible)
Get (レコード総数)Get (TotalRecordCount)
Get (タッチキーボード状態)Get (TouchKeyboardState)
Get (トリガ現在のパネル)Get (TriggerCurrentPanel)
Get (トリガ外部イベント)Get (TriggerExternalEvent)
Get (トリガジェスチャ情報)Get (TriggerGestureInfo)
Get (トリガキー入力)Get (TriggerKeystroke)
Get (トリガ修飾キー)Get (TriggerModifierKeys)
Get (トリガターゲットパネル)Get (TriggerTargetPanel)
Get (ユーザ数)Get (UserCount)
Get (ユーザ名)Get (UserName)
Get (システム書式使用状態)Get (UseSystemFormatsState)
Get (UUID)Get (UUID)
Get (UUID 番号)Get (UUIDNumber)
Get (ウインドウ内容高さ)Get (WindowContentHeight)
Get (ウインドウ内容幅)Get (WindowContentWidth)
Get (ウインドウデスクトップ高さ)Get (WindowDesktopHeight)
Get (ウインドウデスクトップ幅)Get (WindowDesktopWidth)
Get (ウインドウ高さ)Get (WindowHeight)
Get (ウインドウ左位置)Get (WindowLeft)
Get (ウインドウモード)Get (WindowMode)
Get (ウインドウ名)Get (WindowName)
Get (ウインドウ方向)Get (WindowOrientation)
Get (ウインドウスタイル)Get (WindowStyle)
Get (ウインドウ上位置)Get (WindowTop)
Get (ウインドウ表示)Get (WindowVisible)
Get (ウインドウ幅)Get (WindowWidth)
Get (ウインドウのズームレベル)Get (WindowZoomLevel)