テーブルの内容を他のテーブルに追加するには?

解決


りょう  2004-11-28 23:06:55  No: 11955

http://www.borland.co.jp/delphi/papers/ado/ado01.html
このページを参考にデータベースソフトを作成中ですが、mdbのあるテーブルから1つのレコードを選んで、その内容を他のテーブルに追加したいのですがどうすればよいのか分かりません。教えてください。
現在
ADOQuery
ADOConnection
ADODatasource
を使っています。


HOta  2004-11-29 00:41:20  No: 11956

単純に
ADOQuery1:追加元
ADOQuery2:追加先
とすると、
ADOQuery2.Append;
for I := 0 to ADOQuery1.FieldCount - 1 do
  ADOQuery2.Fields[I].value := 
     ADOQuery1.Fields[I].value;
ADOQuery2.Post;
です。


りょう  2004-11-29 05:30:50  No: 11957

早速やってみたところうまくいきました!HOtaさん、ありがとうございます。
もうひとつ質問ですが、テーブルのデータだけをすべて消去してオートナンバのフィールドもゼロからはじめるようにするにはどうしたらよいでしょうか?
ADOQuery1.DeleteRecords
でやってみたのですが、エラーが表示されます。方法が違うのでしょうか?


HOta  2004-11-29 17:24:46  No: 11958

ADOコンポーネントはADOにつないでいるので、
Accessの命令で動くのではありません。
あくまで、Delphi側からコントロールしているのです。
ADOQueryですから、SQL文もしくは、DataSetで操作します。
SQLで削除するなら、
Delete From テーブル名
ですね。
DataSetなら
while Not ADOQuery1.Eof do
  ADOQuery1.Delete;
でしょうか。
オートナンバを消すのは、Accessで行って下さい。


りょう  2004-11-30 00:03:21  No: 11959

while Not ADOQuery1.Eof do
  ADOQuery1.Delete;
でやってみたところうまくいきました。ありがとうございます。
Delete From テーブル名
だと、
現在のプロバイダは単一の実行から複数のRecordsetを返すことをサポートしていません
というエラーメッセージがでます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加