[リストへもどる]
一括表示

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

投稿時間:2004/06/21(Mon) 17:15
投稿者名:dai
URL :
タイトル:
Re: VB→Access フィールドの順番が変わってしまう
DAOならばOrdinalPositionプロパティで制御可能ですが、
下記URLで確認した限りでは、ADOXには当該機能が用意されていないようです。
http://www.microsoft.com/japan/msdn/data/techmat/ado/dao2ado_10.asp

詳細はヘルプ等をご確認ください。

投稿時間:2004/06/21(Mon) 17:42
投稿者名:そま太郎
Eメール:
URL :
タイトル:
ありがとうございました。
よくぞ見つけてくださいました。

ADOというのはDAOの後に出てきたと
聞いていたので、大概の機能は網羅
しているだろうと考えていたのですが、
こういう便利さの逆転関係を見ると、
そう単純ではないのだなと感じました。

DAOは100%未知の世界でありまして、
これから手をつける予定です。ですので、
対照表の存在を教えて頂き参考になりました。

ありがとうございました。

> DAOならばOrdinalPositionプロパティで制御可能ですが、
> 下記URLで確認した限りでは、ADOXには当該機能が用意されていないようです。
> http://www.microsoft.com/japan/msdn/data/techmat/ado/dao2ado_10.asp
>
> 詳細はヘルプ等をご確認ください。