2 返信 最新の回答 日時: May 13, 2015 6:15 PM ユーザー:parc_box

    作業ログ作成でつまづきました。

    parc_box

      タイトル

      作業ログ作成でつまづきました。

      フォーラムに投稿

      こんにちは。
      初めて投稿させて頂きます。

      現在、ファイルメーカーPro13を使用しています。
      下記のようにフィールド内容を比較して指定された文字列を入力させたく
      スクリプトを組んでいますが、なかなか思うように動いてくれません。

      何処がおかしいのか、ご教示頂きたく投稿させてもらいます。


      【内容】
      動作しているのは3つのデータベース。

          【DB_A】と【DB_B】と【DB_C】

      【DB_C】内のフィールド「作業内容フラグ」に対して
      「【DB_A】と【DB_B】どちらでの作業なのか」を反映させたい。

      尚、当スクリプトは【DB_C】上にて動作しています。

      ※作業番号は「項_#####」並びに「マ_#####」の2種類。

      <!--スクリプトの内容 ( If文の箇所のみ )-->

          If[Exact( DB_C::作業番号 ; "項*" )]
              テキストを挿入[DB_C::作業内容フラグ;「DB_A」]
          Else If [Exact( DB_C::作業番号 ; "マ*" )]
              テキストを挿入[DB_C::作業内容フラグ;「DB_B」]
          End If

      <!--ここまで-->

      いろんなパターンを試してみたのですが
      【作業番号】フィールドに必要な値はペーストされて
      【作業内容フラグ】フィールドが空欄のままです。

      If文の箇所は、一番新しい状態を写しました。

      よろしくお願いいたします。

        • 1. Re: 作業ログ作成でつまづきました。
          sago350@未来Switch

          たぶん、こうですかね。

              If[PatternCount ( DB_C::作業番号 ; "項目_" )]
                  テキストを挿入[DB_C::作業内容フラグ;「DB_A」]
              Else If [PatternCount ( DB_C::作業番号 ; "マ_" )]
                  テキストを挿入[DB_C::作業内容フラグ;「DB_B」]
              End If

           

          Exact関数は2つの項目が同じ場合という意味なので、これでは何時までたっても同じになりません。
          アスタリスクは検索モードは有効ですが、計算式では働かないのです。

          また、テキストを挿入ステップを使っていますが、特に意図がなければフィールド設定ステップでまかなえるので、そちらを使った方がいいでしょう。

          • 2. Re: 作業ログ作成でつまづきました。
            parc_box

            sago35さんへ。

            ありがとうございます。

            Ver.13からVer.14へのアップデートの案内メールが届いたので
            自分の端末内のアップデートと社内アナウンスを先に済ませてました。

            ──で早速、昨日つまづいてた箇所を教えていただいた内容に
            従い修正してみたらサクッと解決できました!

            PatternCountってテキスト関数、「指定した文字をカウントする」関数で、
            こんな利用方法があったとはピクリとも引っかかりませんでした。

            テキスト挿入ステップに関しても、これから調べてみます。
            (いやあ、日曜大工感覚の初心者が開発の責任者になっちゃったもので毎日頭を抱え
            慣れないスクリプトが動作してはニヤニヤしてます)