Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2959 / 9994 ←次へ | 前へ→

【10299】Re:テーブルのデータを削除したい
回答  VBWASURETA  - 08/3/7(金) 13:51 -

引用なし
パスワード
   ▼mao さん:

こんにちは。

簡単にするのであれば、チェックフィールドを追加したワークテーブル
を作ってチェックが入ったレコードを元のテーブルとリレーションシップ
で削除する方法が簡単と思います。

例:

テーブルA
●:キー
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
|1フィールド(●)|2フィールド|3フィールド|
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−


ワークテーブル
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
|チェックフィールド|1フィールド|2フィールド|3フィールド|
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

のテーブルにチェックフィールドを追加した構成で最初にワークテーブル作成とデータを追加します。
[テーブル定義]
create table ワークテーブル ( チェックフィールド yesno,
                                1フィールド text(50),
                                2フィールド text(50),
                                3フィールド text(50) );

[データ追加]
INSERT INTO ワークテーブル ( 1フィールド, 2フィールド, 3フィールド )
             SELECT 1フィールド, 2フィールド, 3フィールド From テーブルA
             Where ( [ワークテーブル]![1フィールド] = [ワークテーブル]![1フィールド] )
            

最後にチェックの付いたレコードだけを削除
[データ削除]
Delete From テーブルA, ワークテーブル Where ( [ワークテーブル]![1フィールド] = [ワークテーブル]![1フィールド] And
            [ワークテーブル]![チェックフィールド] = True )


こんな感じで出来ると思います。
SQL文はちょっと正しいか未確認ですが。

606 hits

【10298】テーブルのデータを削除したい mao 08/3/7(金) 12:28 質問[未読]
【10299】Re:テーブルのデータを削除したい VBWASURETA 08/3/7(金) 13:51 回答[未読]

2959 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free