投稿時間: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,
|