種別 | ファイル入出力 |
---|---|
説明 | 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) |