2016-09-27 2 views
0

私はMS Accessの初心者です。私は列1と列2を含むMSアクセスの表1を持っています。また、私は別の空の表を持っていますテーブル2.ボタンのクリックで、私は表1の列のいくつかの条件のチェックを実行し、私は、プログラムで表2にエントリを挿入する必要があります。MSアクセスガイド

Oracle PL/SQLの場合は、コードセット全体を書き込むためのストアドプロシージャを作成しました。 MS Accessでこれをどのように達成できますか?

+0

(ウィザードではなく)クエリデザインボタンを使用して、Table1を選択し、上部の追加ボタンをクリックします。クエリデザイナを使用して、追加クエリを作成します。 – Wouter

+0

こんにちはWouter、あなたの雷スピードの応答に感謝します。だから、私は追加オプションとクエリデザイナーを使用して、 '挿入'クエリがプリロードされていた。私が達成しようとしているのは、表1の各レコードを実行し、列1の値が一意の列2の値のみにマップされているかのようにいくつかのチェックを行います。条件のチェックやものを含める? –

答えて

0

2つのクエリを作成する必要があります.1つは条件をチェックするため(「良い」行を除外)、1つは更新するためです。次に、(未テスト)このような小さなVBAプロシージャは、トリックを行う必要があり、または少なくともあなたのスタートを与える:

sub DoMyJob() 
    if dcount("*", "controlQueryName") > 0 then 'some controls failed 
     docmd.openquery "controlQueryName"  'shows the bad rows 
     msgbox "Check the source data" 
    else 
     docmd.openquery "updateQueryName"   'execute the append 
    end if 
end sub 
+0

これは私がちょっと混乱しているところで、私の無知を許しています。私はクエリ1のロジック全体(条件と挿入文を含む)を記述し、それをボタンなどにリンクしていますか? –

+0

@JeffGodly:いいえ。 Accessクエリには1つのステートメントしか含めることができません。これがVBAかMacrosのどちらかでそれらを接着しなければならない理由です。あなたがAccessとVBAの初心者であれば、あなたはもっと簡単にマクロを見てみることができ、Accessプログラミングの可能性を学ぶよい方法です。 –

0

私が正しくあなたを理解してる場合、これは単に条件付きインサートです。

INSERT INTO tblOne (Field1) 
SELECT Field1 FROM tblTwo WHERE Field2='MyCondition'