投稿日 | : 2004/06/21(Mon) 16:29 |
投稿者 | : そま太郎 |
Eメール | : |
URL | : |
タイトル | : VB→Access フィールドの順番が変わってしまう |
お世話になっております.
原因はおよそ分かったものの、対応方法がさっぱりという事態に
直面してしまいました.ご存知の方がおられましたら助言頂ければ
ありがたいです。(一応思いつくキーワードで検索したのですが、
過去のログと重複があったらすみません)
1. ADOX (Microsoft ADO Extensions for DDL and Security) を用いて
新規にAccessDBを作成し、その中にテーブルを作成した.
→ADOX.CatalogオブジェクトのCreateメソッド、および
ADOX.CatalogオブジェクトのTablesコレクションのAppendメソッドを利用
★フィールドの指定は .Columns.Append "フィールド名", データ型 という書式で.
2. VBのMSHFlexGridコントロール上に表示しているデータを、上で作成した
ファイルに書き出した.
→ADODB.Connectionオブジェクトで接続した後で、
RecordsetオブジェクトのAddNewメソッドとUpdateメソッドを利用
(問題)
新しくできたファイルをAccessで開くと、元のデータとフィールド(列)の順番が
変わってしまいました。フィールド名は日本語なので、おそらく文字コードの
大小関係を内部的に比較して、それに基づいてソートをかけたのだと思い、
フィールド名の先頭に新たに数字を追加してテストした所、やはり昇順に並び
かわりました.
(望ましい状態)
出力先のファイルにおけるフィールドの順番を、任意に指定したい.
環境: WindowsXP, VB6.0, ADO, Microsoft.Jet.OLEDB.3.51,