- 日時: 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 で検索して調べて下さい。
|