• ベストアンサー

access2000でいつのまにかレコードの順番が変わっているんですけど、なぜでしょう?

visual basicで簡単なデータベースを利用したプログラムを作っています。 データをaccess2000で作っています。 access2000にデータをある程度打ち込んだ後、 visual basicで作ったプログラムでデータにアクセスすると データのトップの位置が変わっています。 アクセス2000で作ったデータのテーブルの中の レコードの順番は、見た目上変わってないのですが visual basicで作ったプログラムからデータにアクセスすると いつのまにか順番が変わっています。 visual basicのなかのadodc1.Recordset.Movefirstで テーブルの1番最初に行こうとすると なぜか途中のデータが1番最初と定義されています。 アクセス2000から、作ったデータのテーブルを開いて ツールバーのレコードからフィルタに行って そこからフォームフィルタをクリックすると テーブル名:フォームフィルタというフォームが表示されますよね。 そこで、表示されるフォームのIDフィールドにある 下向きの三角矢印をクリックすると 作ったデータのIDの順番が変わって表示されています。 いったい何が起こっているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nishishi
  • ベストアンサー率39% (17/43)
回答No.2

こんにちは、 多分アクセスからテーブルを開いたときは主キーで並び変わっているのでは ないでしょうか?あるいは、VBからのアクセス時に別のキーでソートされ ているのではないでしょうか? アクセスのメニューで「ツール」-「データベースユーティリティ」-「最適化/修復」を行えば、主キーのソート順に変わると思います。

その他の回答 (1)

回答No.1

こんにちは VBで"order by"句を使って、キーを並び順にしてしまえば よいのではないでしょうか?

関連するQ&A