• ベストアンサー

Access2000のテーブルをADOで複製時の並び順

こんにちは。 Access2000の「Aテーブル」を読みある条件に 合致したものを「Bテーブル」として作成する ためにADOを利用して作成しました。 Aテーブル、Bテーブルの全項目ともにインデ ックスはすべて「いいえ」としてあります。 しかし、作成されるBテーブルは何故か並び替え がおこなわれてしまいます。 Bテーブルの内容も並び替えをおこなわないよう にするにはADO側での工夫が必要なのでしょうか? どうぞよろしくお願いいたします。

  • enako
  • お礼率62% (298/476)

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> BテーブルもAテーブルの並び順で作成されてくれ > るのがベストなんですが・・・。 B テーブルに、オートナンバー型のフィールドを作成しておけば、 お望みの形になると思います。

enako
質問者

お礼

Gin_Fさん、こんにちは。 お礼が遅くなってすみません。 その後の処理を考えるとでき ればオートナンバー型は使い たくなかったんですが・・・。 Accessの仕様であれば仕方あ りませんね。 どうもありがとうございました。

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

[ACC2003] MDB のレコードの並び順について http://support.microsoft.com/default.aspx?scid=kb;ja;834927 並び順は保証されません。 > Bテーブルの内容も並び替えをおこなわないようにするには なぜ、このようなことがしたいのかを説明していただければ、別案があるかもしれませんが。

enako
質問者

補足

Gin_Fさん、こんにちは。早速の回答ありがとうご ざいます。 Aテーブルの内容をチェックし、エラーのないもの だけBテーブルへ移行したいのです。但し、厳密に はBテーブルにはAテーブルにない項目を移行時に いくつか追加しますが・・・。 Aテーブルはもともとエクセルで作成したデータを CSVファイルで取り込んできていますがCSVファイル の並ぶ順でインポートしてくれます。 BテーブルもAテーブルの並び順で作成されてくれ るのがベストなんですが・・・。 よろしくお願いいたします。

関連するQ&A

  • ADOによる列の追加について

    access2000を使用しており、 最近ADOについて勉強しています。 しかし、ADOが難しく、大変困っております。 テーブルAの数量を判断して、列の最後に 列「判別」(奇数か偶数かを判断)を追加したいと 思っています。どのようにADOを書けばよいのでしょうか? テーブルA  数量  4  1 テーブルB  数量 判別   4 偶数   1 奇数

  • アクセス2003で・・・

    アクセス2003を使っています。 Aテーブルのある項目に「A」か「B」が入っています。 Bテーブルのある項目に「200M」「回1000」「不明」等、こういった類のものが入力されています。 ここから質問なのですが、Bテーブルの「200M」「回1000」等の「数字」以外の文字を無視して、残された数字が奇数か偶数か判断をアクセスの機能・関数・VBAでしたいと思います。 更に、下記の様に条件を組み、結果をアクセスの機能・関数・VBAでだしたいと思います。 ・Aテーブルの項目がAかつ、前述で奇数か偶数か判断した、Bテーブル「200M」「回1000」等が偶数ならA。 ・Aテーブルの項目がBかつ、前述で奇数か偶数か判断した、Bテーブル「200M」「回1000」等が奇数ならB。 上記の条件にあてはまらないなら、Cとういう結果を新しい項目を作ってみたいと思います。 説明がややこしいと思いますが、よろしくお願いします。

  • Accessプロジェクト ストアドプロシージャによるデータ更新

    Access2003 Accessプロジェクトのストアドプロシージャでテーブルを更新する処理を作りたいのですが・・・。 内容は、テーブルAにある項目「更新区分」を "0" から "1" に更新します。ただし更新する条件として、テーブルBに登録されている、全てのロットNoと、テーブルAのロットNoが一致するものだけです。 WHERE条件に・・・  WHERE テーブルA.LotNo = テーブルB.LotNo とすると、「ADOエラー:列のプレフィックステーブルBは、テーブル名と一致しないか、クエリ内の別名と一致しません」となります。 初歩的な質問ではずかしいですが、よろしくお願いします。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • ACCESSでテーブルを更新する時で

    テーブル(1)のある項目で、テーブル(2)のある項目を更新したいのですが・・    項目 → No ・・・ 更新a 更新b テーブル(1)  001     100 200 テーブル(2)  001      50  50          ↓          ↓ 【更新後】 001 100 200 どの様にすればできますか教えて下さいませんか。 《クエリーの更新を使えばできそうなんですが、実際にどうすれば良いのかよく解りません》       

  • ACCESS2003:サブフォームに他のテーブルの項目を表示

    ACCESS2003:サブフォームに他のテーブルの項目を表示 現在メインフォームの中にサブフォームを組み込んでいます。 [前提条件] ※1 サブフォームの参照テーブルを仮にテストテーブルとします。 ※2 サブフォームの項目をA,B,C,Dの4項目とします。 ※3 テスト1テーブルの項目はA,B,Cの3項目とします。 ※3 テスト2テーブルの項目はA,D,Eの3項目とします。 その場合、A,B,Cはテスト1テーブルの内容をそのまま表示するので問題ないのですが、 D,Eの項目はテストテーブルに存在しないので、Aをキーにしてテスト2テーブルから データを取得して表示したいのです。 初歩的な質問で申しわけありませんが、ご回答を宜しくお願いします。

  • アクセスのADO

    アクセスのADOで ウォッチ式にrsを登録してみていると rs.CursorLocation = adUseClient rs.Open "テーブル1", cn, adOpenStatic, adLockOptimistic を通過後は、 RecordCountには、20と数字が入るのですが、 rs.CursorLocation = adUseClient rs.Open "テーブル2", cn, adOpenStatic, adLockOptimistic にすると RecordCount : <データ プロバイダーまたはほかのサービスが E_FAIL 状態を返しました。> となってしまいます。 テーブルの中身が原因だと思うのですが どういう条件なら、 <データ プロバイダーまたはほかのサービスが E_FAIL 状態を返しました。> になるのでしょうか? rs.CursorLocation = adUseClient を使う理由は、 rs.Sort = "日付 DESC" とソートする為です。 参照設定はMicrosoft Activex Data Objects 2.8 Library にしています。 Access2010・32bitです。

  • VBAでAccessのテーブルのエクスポート・インポートをするには。

    すみませんが、教えてください。 Excel+VBAで、AccessをSQL,ADO,ADOXで操作しようとしています。 a.mdbのテーブルを、b.mdbに、エクスポート(インポート)したいのですが、やり方がわからず困っています。 すみませんが、テーブル構造のみをエクスポートする方法、データを含めてエクスポートする方法を教えてください。

  • VBA ACCESS 更新 追加 find ADO テーブル

    いつもお世話になっております。 ACCESSのフォームに作成したコマンドボタンを実行すると 元テーブルから対象テーブルへIDを元に値を更新するようなプログラムを 作りたいと思います。 また、注意点として元テーブルでは「ID」、対象テーブルでは「管理番号」の異なる名称によりデータの管理を行っております。 アドバイスお願いします。 VBAの中でADO関数やFind関数を使ったら出来ると考えております。

  • ACCESSでテーブルの一部だけを更新したい

    Access2000を使用しています。 テーブルの更新方法についてアドバイスをお願いいたします。 Excelの表からインポートとして「テーブルA」を作っています。 Excelからは項目「A、B、C、D」をインポートしていますが、テーブルにインポートしたあとで、項目「E、F、G」を新たに追加作成し、値を手入力しています。 (Excelにはこの項目がないためです) Excelの表は時々更新されるため、その都度上書きとしてインポートしなおす必要があります。 しかしそうすると項目「E、F、G」が消えてしまいます。 項目「E、F、G」の値を残したまま項目「A、B、C、D」を更新するなどということはできるのでしょうか? 代替案でもけっこうですのでどうぞよろしくお願いします。

専門家に質問してみよう