CsvSrch

種別 ファイル入出力
説明 CSVファイルから、検索した項目のデータを取得する。
※ 検索の場合は、CsvDataよりも遥かに早く動作します。

構文 CsvSrch(Name[, LineNo][, Data])
引数 Name :レコード名、またはCSVのファイルパス
  (ファイルパスの時は、他のパラメータを指定してはいけない)

LineNo:CSVの行番号(1から、最大行数までを指定可能)

Data :検索データ

※ 本関数が扱えるCSVには、以下の制限事項があります。
  制限事項に反するCSVを扱う場合は、CsvDataを使用してください。

① データの途中に、改行コードと
  「"」(ダブルクォーテーション)を入れてはいけない。

② 区切り文字は一種類のみとし、必ず「,」または「","」であること。
  また、両方の混合はないものとする。
戻り値 ① Nameをファイルパスにした場合、全行数を返す。

② Nameをレコード名、LineNoがNULLで、Dataを検索データにした場合、
  一番最初から検索した行番号を返す。(該当データが無ければ、0)

③ Nameをレコード名、LineNoを指定し、Dataを検索データにした場合、
  LineNo以降を検索し行番号を返す。(該当データが無ければ、0)

② Nameをレコード名、LineNoを指定し、DataをNULLなら、
  項目データを返す。
使用例 dim i,cnt,s,no,p

'ファイルパスを指定し、全データ数を取得(他のパラメータは指定しない)
cnt = CsvSrch(#FILE_DIR# & "顧客マスター_5000.csv")

i = CsvSrch("顧客コード",,"4993")'行番号を検索する

s = CsvSrch("会社名",i) '指定した行番号の項目データ取得
s = CsvSrch("住所",i) '指定した行番号の項目データ取得

i = CsvSrch("顧客コード",i+1,"4993") 'i+1番以降のデータを検索

'CsvSrchで、複数のデータを取得

no = 1 '行番号
p = 1 '表示するフィールド番号
Do
  i = CsvSrch("地域", no, "関東") '行番号を検索
  if i = 0 then Exit Do 'データがなくなったら、ループを抜ける
  
   会社名[p] = CsvSrch("会社名", i)
  住所[p] = CsvSrch("住所", i)
   p = p + 1
   no = i + 1'取り出した次の行から探す
Loop While i <> 0 'i=0、データがなくなったら、ループを抜ける
実例  
備考 関連する関数(DataFileLoad、DataFileSave、DefinitionLoad、
DefinitionSave、TextFileLoad、TextFileSave、CsvData、CsvSrch、
SaveFieldCsv、LoadFile、SaveFile、SavePdf、AutoNumbering、
ChgFileName)