tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
ADOを使用しMSHFlexGridにCSVを取込時の型指定(VB6.0) ( No.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 で検索して調べて下さい。



 [スレッド一覧へ] [親スレッドへ]