none
ADOXでmdbファイルを作るとソートできない RRS feed

  • 質問

  • ADOX.CatalogClass catalog = new ADOX.CatalogClass();
    catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\TestData.mdb"));

    でmdbファイルを作成し、そこに

    new ADOX.Table();  でテーブルを作成し、
    new ADOX.ColumnClass();  でカラムを追加しています。

    しかし、こうして作成したテーブルにデータを入力し、ソートを行うと あいうえお
    順にソートしません。変な並びになってしまいます。
    しかし、Access で空のmdbファイルを作成し、そこに

    new ADOX.Table();  でテーブルを作成し、
    new ADOX.ColumnClass();  でカラムを追加すると、ちゃんとソートできます。
    Access で作成したmdbファイルと、ADOX の Create で作成したmdbファイル
    に何か違いがあるのでしょうか。

    2008年9月12日 4:30

すべての返信

  • ソートはどのキーで行い、どのように見られていますか?

    テーブルに追加したデータに並び順はありません。そのデータを見るツールによって、主キーがあれば主キー順に自動的に並び替えて表示するものもあるようです。

    2008年9月12日 5:48
    モデレータ
  • 一例として、ADOXで作成したmdbファイルをMicrosoft Access で開き、テーブルを表示し、適当なフィールドを選択して、「昇順で並び替え」を選択しても「あいうえお」順には並ばず、変な順で並び変えられます。

    2008年9月19日 5:38
  • こんにちは、フォーラムオペレータ大久保です。

     

    その適当なフィールドにはどんなデータが入っているのでしょうか?

    すべてひらがな(もしくはカタカナ)で入っているのであれば、「あいうえお」順に並ぶと思いますが、漢字や記号などが混じると思い通りには並ばないことがあります。

     

    とはいえ、今回の原因はそんなことではないんだろうなと思いますので、

    どんなデータが入っているのか、期待する並び順は、得られた結果はどうなのか などの情報をいただけますか?

    できる限りですが、手元で試してみます。

    2008年10月1日 1:02