| 
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2009/02/01 10:22
名前: 花ちゃん
 
 ************************************************************************************ カテゴリー:[グリッド関係][ファイル入出力][データベース]                        *
 * キーワード:MSFlexGrid,フレックスグリッド,ADO,CSVファイル,テキストファイル,  *
 ***********************************************************************************
 
 元質問:ADOを使用しMSHFlexGridにCSVを取込 - てつや  2003/12/09-19:35 No.6997
 
 「MSFlexGrid関係」に表題の方法が記載されてあったのを拝見させて頂きました。
 最後の所に「DAO同様読込ファイルの型指定は SCHEMA.INI ファイルを使用する事でできます。」と
 書いてあったのですが、実際にどの様にしてコードを書けばよいかわからなかったので教えてください。
 やりたい事:1、1行目を列名として扱いたくない。
 2、各データを文字列で取り込みたい。
 (例えば、[0001]→[1]にならないようにしたい。)
 
 
 -------------------------------------------------------------------------------
 Re: ADOを使用しMSHFlexGridにCSVを取込 - 花ちゃん  2003/12/09-20:09 No.6998
 -------------------------------------------------------------------------------
 ホームページ上で、Schema.ini について詳しく解説されていたサイトが閉鎖されたようなのでこの投稿記事をこちらへ転記しておきます。
 
 
 メモ帳等で下記のように書いて、ファイル名を Schema.ini として保存して下さい
 Schema.ini ファイルは、テキスト(データファイル)ファイルと同じフォルダに保存する必要があります。
 入れておけば、VB上から特別な動作をしなくても自動的に読み込まれます。
 
 [test.CSV]
 ColNameHeader=false
 Format=CSVDelimited
 MaxScanRows=8
 CharacterSet=OEM
 Col1=A Text Width 50
 Col2=B Text Width 50
 Col3=C Text Width 50
 Col4=D Text Width 50
 Col5=E Text Width 50
 Col6=F Text Width 50
 Col7=G Text Width 50
 Col8=H Text Width 50
 
 Col8=H 等は 列数分作成して下さい。 Col8="氏名" のように項目名でも
 Width 50 はCSVではそのままでも Col8=H Text でも問題なかったと思います。
 
 
 一応上記の設定で試して見て下さい。
 
 
 詳しくは以下、Schema.ini の記入要領をご覧下さい。
 
 [ファイル名]
 仮に test.CSV としておりますので test.CSV の部分だけファイル名に合せて変更して下さい
 テキストファイル名を入れる、複数のファイルが存在する場合続けて個々のテーブルの定義を行なう。
 
 ColNameHeader
 一列目を列名として使うかどうか
 True とすると、一列目に書き込まれているデータを列名として用いる。
 
 Format 固定長フォーマットか、区切り記号付きフォーマットかを示す
 「FixedLength」とすると、固定長。Delimited(!)」とすると、区切り記号付きを示す。
 
 MaxScanRows
 列のデータ型を調べる時に調べる行数を指定する
 0 を指定した場合は、全ての行を検索します。 (デフォルトは8)
 
 CharacterSet
 文字列のコード体系を示す
 OEM または、ANSI を用います。通常は、OEM でよいです。
 
 Col1, Col2, Col3 ...........
 個々のフィールドの属性を指定する。以下の書式で指定します。
 Col1=A Text Width 50
 
 Col1 の1は、何列目かを示します。
 A  には、フィールド名を入れます。上記のようにABCでも動作します。
 
 Text には、データ型を入れます。
 
 Width は、列幅を指定します(固定長のときのみ有効)。
 
 type に指定できる値は以下の通りです。
 
 Bit型        : Bit
 バイト型       : Byte
 整数型        : Short
 長整数型       : Long
 通貨型        : Currency
 単精度浮動小数点数型 : Single
 倍精度浮動小数点数型 : Double
 日付/時刻型     : DateTime
 テキスト型      : Text
 メモ型        : Memo
 
 
 
 尚、上記以外の設定も出来るようです。詳しくは WebやMSDNで Schema.ini で検索して調べて下さい。
 
  |