引数 | 数値指定 | 備考 |
---|---|---|
.fcAndSrch (検索方法) | 1 : AND(検索行番号取得) 2 : OR(検索行番号取得) 11 : AND(検索件数取得) 12:OR(検索件数取得) | .fcAndSrch .fcOrSrch .fcAndSrchN .fcOrSrchN |
FILENO% (ファイル番号) | - | Openしたファイル番号 |
RSTART% (検索開始行番号) | - | ファイルの何行目から検索するかを指定 だいたい「1」でしょう。 |
REND% (検索終了行番号) | - | ファイルの何行目まで検索するかを指定 ファイル全体の検索であれば LOF(#ファイル番号)で最終行を取得し、これをセットします |
RECORD% (戻り値格納変数) | - | - |
SRC.Fl.Ref$() (検索条件) | - | 複数条件を指定したい場合は事前に変数を配列分準備する。 SRC.Fl.Ref$(0) = 条件 SRC.Fl.Ref$(1) = 条件 … ※条件の記入方法については以下参照 |
SRC.FL.REFCNT% (検索条件数) | - | 検索条件数を指定します。 検索条件で3つ指定してもここの数字を2にすると 3つ目の条件が無視されます。 |
値 | 内容 | |
---|---|---|
1桁目 | 0 1 2 3 4 5 | = (等しい) != (等しくない) < (検索値より大きい) > (検索値より小さい) >= (検索値以上) <= (検索値以下) |
2桁目 | 検索フィールド | フィールド番号を指定します |
3桁目以降 | 検索文字列 |
SYAINM.MST | SYAINM.FLD |
---|---|
fields 6 15 |
1: '変数定義 2: private SRC.FILENO% : SRC.FILENO% = 1 'ファイル番号 3: private SRC.RSTART : SRC.RSTART = 1 '開始行 4: private SRC.Fl.Len '最終行 5: private SRC.Fl.Ref$(1) '検索条件 6: private SRC.FL.REFCNT% : SRC.FL.REFCNT% = 1 '検索条件数 7: 8: 'SYAINM.MSTファイルを、ファイル番号#1としてオープンします 9: Open "SYAINM.MST" as #1 RECORD 2147483647 10: 11: 'オープンしたファイルのフィールド定義を指定します 12: '以下はフィールド1が6桁、フィールド2が15桁です 13: FIELD #1, 6 as SRC.FL.VAL1$, 15 as SRC.FL.VAL2$ 14: 15: 'ファイルサイズ(最終行番号)を取得します 16: SRC.Fl.Len = LOF(#1) 17: 18: '検索条件を指定します 19: '変数ID$には何かしらの方法で社員番号が取得済とします。 20: SRC.Fl.Ref$(0) = CHR$(0) + CHR$(1) + ID$ 21: 22: '検索関数 [SEARCH.FN3] の使用 23: CALL "SEARCH.FN3" 1 SRC.FILENO%, SRC.RSTART, SRC.Fl.Len, SRC.RECORD, SRC.Fl.Ref$(), SRC.FL.REFCNT% 24: 25: '検索結果の分岐 26: 検索件数が0の場合 27: IF SRC.RECORD = 0 then 28: ' エラー時の処理を書く 29: Else 30: 検索結果が取得できた場合 31: ' 取得した行番号のレコードを取得します 32: ' この時、6行目のフィールド指定した変数にそれぞれ代入されます 33: get #1, SRC.RECORD 34: ' 取得したレコードの第二フィールドを変数Name$に代入します 35: Name$ = SRC.FL.VAL2$ 36: End If 37: 38: 'ファイルをクローズします 39: Close #1