http://www.borland.co.jp/delphi/papers/ado/ado01.html
このページを参考にデータベースソフトを作成中ですが、mdbのあるテーブルから1つのレコードを選んで、その内容を他のテーブルに追加したいのですがどうすればよいのか分かりません。教えてください。
現在
ADOQuery
ADOConnection
ADODatasource
を使っています。
単純に
ADOQuery1:追加元
ADOQuery2:追加先
とすると、
ADOQuery2.Append;
for I := 0 to ADOQuery1.FieldCount - 1 do
ADOQuery2.Fields[I].value :=
ADOQuery1.Fields[I].value;
ADOQuery2.Post;
です。
早速やってみたところうまくいきました!HOtaさん、ありがとうございます。
もうひとつ質問ですが、テーブルのデータだけをすべて消去してオートナンバのフィールドもゼロからはじめるようにするにはどうしたらよいでしょうか?
ADOQuery1.DeleteRecords
でやってみたのですが、エラーが表示されます。方法が違うのでしょうか?
ADOコンポーネントはADOにつないでいるので、
Accessの命令で動くのではありません。
あくまで、Delphi側からコントロールしているのです。
ADOQueryですから、SQL文もしくは、DataSetで操作します。
SQLで削除するなら、
Delete From テーブル名
ですね。
DataSetなら
while Not ADOQuery1.Eof do
ADOQuery1.Delete;
でしょうか。
オートナンバを消すのは、Accessで行って下さい。
while Not ADOQuery1.Eof do
ADOQuery1.Delete;
でやってみたところうまくいきました。ありがとうございます。
Delete From テーブル名
だと、
現在のプロバイダは単一の実行から複数のRecordsetを返すことをサポートしていません
というエラーメッセージがでます。
ツイート | ![]() |