FileMakerスクリプトでフィールド甲とフィールド乙の自動入力方法とは?

このQ&Aのポイント
  • FileMaker Proで初心者の方がフィールド甲を参照し、フィールド乙に自動的に「X」か「Y」を順次入力するスクリプトを組みたい場合、以下の条件を満たす方法があります。
  • 最初に「Y」が出現するまではフィールド乙に「X」を入力し続けます。そして「Y」が出現した場合、そのレコード以降のフィールド乙には「Y」を入力します。ただし、「Z」が出現したレコード以降は再び「X」を入力します。次に「Y」が出現するまでこの処理を繰り返します。
  • 初心者の方にも分かりやすくするために、if文とループ処理を使用してスクリプトを作成する方法がありますが、うまくいかない場合もあります。他の方法も検討してください。
回答を見る
  • ベストアンサー

FileMaker スクリプト

FileMaker Proで下記のようなケースでよいスクリプトの組み方があればお教えください。  当方はFileMaker Pro 5.5を使用しています。初心者です。 ---------------- 甲 乙 A X B X A X B X B X Y Y A Y B Y Z X A X B X A X B X Y Y A Y Z X A X ---------------- フィールド甲を参照し、フィールド乙に自動的に「X」か「Y」を上のレコードから順次返すスクリプトを組みたいと考えています。 (1)フィールド甲に最初にYがでてくるまではXを返す。 (2)Yがでてきたら、以下のレコードのフィールド乙にYを返す。 (3)Yが登場したあと、最初に「Z」がでてきたレコードからはフィールド乙にXを返す。 (4)次にYが出てくるまでXを返す。 以下繰り返し 以前、類似した事例にて教わったことを応用し、 if、loopを駆使して試みましたが、うまくいきません。

noname#112497
noname#112497

質問者が選んだベストアンサー

  • ベストアンサー
  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.3

先頭レコードがYでもZでも無い場合は乙はXになるとすると、 G甲というグローバルテキストフィールドを作って、スクリプトは レコードへ移動[ 最初の ] If [ 甲 = "Y" ]  フィールド設定 [ G甲, "Y" ]  フィールド設定 [ 乙, "Y" ] Else  フィールド設定 [ G甲, "X" ]  フィールド設定 [ 乙, "X" ] End If Loop  レコードへ移動[ 次の, 最後まできたら終了 ]  If [ 甲 = "Y" ]   フィールド設定 [ 乙, "Y" ]   フィールド設定 [ G甲, "Y" ]  End If  If [ 甲 = "Z" ]   フィールド設定 [ 乙, "X" ]   フィールド設定 [ G甲, "X" ]  End If  If [ 甲 <> "Y" and 甲 <> "Z" ]   フィールド設定 [ 乙, G甲 ]  End If End Loop かな?

noname#112497
質問者

お礼

chieffishさん、ありがとうございました。 実務にもうまく活用できました。

その他の回答 (2)

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.2

違った、甲はYの前にZが出てくることはないのですか?

noname#112497
質問者

補足

フィールド甲において、Yの前にZが出てくることもあります。

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.1

X,Y,Zは必ずその順番通りに出るんですか?

関連するQ&A

  • FileMaker Proのスクリプト

     FileMaker Proで下記のようなケースでよいスクリプトの組み方があればお教えください。  当方はFileMaker Pro 5.5を使用し、データベースは初心者で、エクセルの感覚からまだぬけられていません。 ---------------- 【ケース】 フィールド甲 フィールド乙 A        A C        A C        A D        A B        B C        B C        B A        A C        A  フィールド甲を参照し、フィールド乙に自動的に「A」か「B」を挿入するスクリプトを組みたいと考えています。  「A」と「B」のみを、フィールド乙に入る特殊な値とします ・最初のレコードのフィールド甲は必ず「A」が入っているとします。 ・フィールド甲を上のレコードから参照し、甲に「B」がでてくるまでフィールド乙に「A」を挿入しつづけます。 ・甲に「B」がでてきたら、そのレコード以下、甲に「A」がでてくるまで乙に「B」を挿入しつづます。 ・甲に再び「A」がでてきたら、甲に次に「B」がでてくるまでフィールド乙に「A」を挿入しつづます。 以上を最終レコードまで続けます。 ----------------  ネットのサイトを見ながら、if、loopを駆使して試みましたが、条件設定が間違っているのか、 うまくいきません。

  • FileMaker 同一フィールドに同じ値が連続している個数をかえすス

    FileMaker 同一フィールドに同じ値が連続している個数をかえすスクリプト 当方はFileMaker Pro 5.5を使用しています。初心者です。 ---------------- 甲乙 A3 A3 A3 B2 B2 C4 C4 C4 C4 D1 A2 A2 C1 ---------------- フィールド甲を参照し、同じ値が連続している個数をフィールド乙に返すスク リプトを組みたいと考えています。 たとえば、一番上のレコードから「A」が3回続いているため、フィールド乙には 3をかえします。同様に全レコード繰り返します。 フィールド甲の値は一度連続が途切れたあとも、後のレコードで再度でてくることも あります。 よいスクリプトはありますでしょうか。

  • FileMaker Proのスクリプトを利用して、csvファイルを整形する方法

    FileMaker Proの初心者です。バージョン5.5を使用しています。 元のcsvファイルをインポートし、下記のような形式に整形したいのですが、よいスクリプトの組み方はあるでしょうか。 【元のcsvファイル】 -------------------- (レコード)  フィールド    値    1    フィールドa    a1    1    フィールドb    b1    1    フィールドc    c1    1    フィールドd    d1    2    フィールドa    a2    2    フィールドb    b2    2    フィールドc    c2    2    フィールドd    d2    3    フィールドa    a3    3    フィールドb    b3    3    フィールドc    c3    3    フィールドd    d3 -------------------- 【整形後の形式】 -------------------- レコード フィールドa フィールドb フィールドc フィールドd     1     a1      b1      c1      d1     2     a2      b2      c2      d2     3     a3      b3      c3      d3 --------------------

  • FileMaker一括変換処理のスクリプト作成方法を教えて下さい

    これ以前にFileMaker Pro7の複数レコード同一フィールド中のセミコロン『;』を改行『¶』に一括変換する方法として、以下の処理方式を教えて頂きましたが、同処理を『ScriptMaker(S)』で登録する方法を教えて下さい。 通常、以下の操作を行った後、『ScriptMaker(S)』を開き、『作成』をクリック、スクリプト編集画面左ウィンドウのスクリプト種類リストから、妥当なスクリプトを選択することになると思いますが、適切なスクリプトが見つかりません。 あるいは別の方法があるのでしょうか。 変換したいフィールドにカーソルを持って行く。   ↓ 「レコード」   ↓ 「フィールド内容の全置換」   ↓ 「計算結果で置き換える」   ↓ 「Substitute ( フィールド名 ; ";" ; "¶" )」   ↓ 「置換実行」

  • FileMakerのスクリプト

    現在FileMakerPro8.5を使って,データベースの作り方を勉強している超初心者です。塾を経営していて,生徒情報のデータベースをつくっています。 生徒情報と授業内容報告書のFileMakerで作ったファイルが2つあり, 生徒情報の中にある,IDのフィールドで,授業内容報告書のファイルを開き,対象レコードを検索するスクリプトを作成したいのですが、どのようにすればいいでしょうか? 分かりにくい質問ですいませんが,教えて下さい。よろしくお願いします。

  • FileMaker Pro 同一レコード以外のインポート

    お世話になっております。 filemakerは今までpro5を使用し、 現在、pro10への移行作業中です。 filemakerで一つの大本のファイル(ファイルA)に いくつかのフィールドを組み合わせて照合フィールドを 作成しました。 ファイルBには他のデーターベースからデータを取り入れた、 ファイルAと同じファイルBがあります。 その照合フィールドで照合させ、 同一ファイルはインポートせず、 新規のレコードだけをインポートするにはどのような 方法がありますか? なんとかご教授してください。

  • ファイルメーカーのスクリプトについて

    ファイルメーカーのスクリプトで質問があります。 検索を行うスクリプトですが、以下の場合どのようにすればよいのでしょうか? フィールドA、フィールドBがあるとします。 フィールドAには不規則な4桁の数字が入っています。 フィールドBにはテキストデータが入っているレコードと入っていないレコードがあります。 検索したいのは、例えば フィールドAには「1111」と入っているが、 その中でフィールドBには何も入っていないもの、 を選び出したいのです。 スクリプトを作ろうとするのですが、 フィールドBに何も入っていないものを選ぶための、「除外」機能がないように思うのです。 もしそのようなスクリプトを組むことができたら是非教えて下さい。

  • FileMaker5.5のスクリプト定義エラー

    FileMaker5.5でスクリプトを組もうとしていますが上手くいきません。 やりたいこととしては、全データの中から、2者択一のフィールドで真のデータを検索し、一覧表示するだけです。 スクリプトの組み方は 「全レコードを表示」→「検索モードに切り替え」→「フィールドへ移動」(不要かと思いますが一応)→「テキストを挿入」(ここでフィールドを指定して真の値”1”をフィールドに挿入しているつもり)→検索実行→「レイアウト切り替え」(で一覧表示のレイアウトへ切り替えます) です。 エラー表示は、 「この検索条件には有効なものがありません。検索する前に有効な検索条件を入力してください」 です。 FileMakerは近々Ver8が出るそうなので、Ver7へのアップグレードをせずに5.5で作っていますが、今回の質問に関連してその辺の事情もご存知でしたらお教えいただけるとありがたいです。

  • FileMakerでのスクリプトの組み方

    FileMaker Pro Advanced 8.0を使っております。 スクリプトの組み方が分からないため、教えていただけないでしょうか。 下記のようなレシピで例えますと、料理を作るときは<レシピ>のような表示をしており、<レシピ>が元データです。問題は<必要な材料・量>のときで、水のようにAにもBにも入っている材料がある場合、<必要な材料・量>のときに量を合計してトータル量を表示させたいのですが、スクリプトの組み方がよく分かりません。どなたかお教えいただけないでしょうか。 <レシピ> 相   材料   量 A相 水    150g A相 砂糖    3g A相 しょうゆ  5g B相 片栗粉   3g B相 水     3g ↓↓↓↓↓↓↓↓↓↓ <必要な材料・量>  材料  量 水    153g 砂糖    3g しょうゆ  5g 片栗粉   3g

  • FileMakerで繰り返しフィールドの内容消去

    FileMakerで繰り返しフィールドの内容をまとめて消去するスクリプトを教えてください。 レコードを複製した時に、繰り返しフィールドの内容が全て不要な時があります。 繰り返し数が3個あると3回手作業で現在消しています。 繰り返しフィールドの横に消去用のボタンを作りまとめて、一度にまとめて内容を消去したいと考えています。 どのようなスクリプト組めばよろしいでしょうか? 当方Intel iMac 2.66、Mac OS X 10.6スノーレパード FileMaker Ver10です。 よろしくお願いします。

専門家に質問してみよう