2017-10-03 15 views
-1

私は少し運がいいと思っているMS-Accessクエリを持っています。小切手番号と請求書番号の2つの列があります。すべての小切手番号には、請求書番号が必要です。列は次のようになっています...アクセス検索、一致、置換

Check#   Invoice# 
012564   
012564   PC0935 
012564   PC0935 
012564 

小切手に記載されていない場合は、請求書番号を記入する必要があります。 Excelでvlooupとのインデックス/マッチとして動作させることができますが、私はAccessでこれを実行できる必要があります。

私はdlookupsを置き換えてみましたが運はありませんでした。私は絶対的な答えを探しているわけではありませんが、一般的な方向のいくつかのアイデアが最も高く評価されます!

私はVBAと非常に限定されたSQLの知識がありません。

+0

あなたは私たちがずっとあなたが請求書番号が完了する方法を限りに行くために与えられていませんでした - 012564を=すべてのチェック番号について、次に入力した請求書がnullである:

このSQLはそれを行う必要がありますPC0935?それは 'UPDATE Table1 SET Invoice = 'PC0935' WHERE Check = '012564' AND Invoice Is Null' –

+0

@ DarrenBartrup-Cook:明確でないことをお詫びします。その小切手番号のためだけではありません。複数のデータ行があり、その中に最小限の完全なチェックを持つ1セットがあります。請求書の関連付け。私は小切手番号のすべてのインスタンスについて請求書が記入されていることを確認しようとしています。 –

+0

OKですので、それぞれのCheck#エントリに対応する 'Invoice#'エントリがあり、常にCheck#〜Invoice#があるテーブルの少なくとも1つのエントリが存在するようにテーブルを更新しますそのペアリングを使用して空のレコードを完成させますか? –

答えて

0

私のコメントによれば、各Check#エントリに対応するInvoice#エントリがあり、常にCheck#〜Invoice#のペアを持つテーブルに少なくとも1つのエントリが存在するように、ペアリングを使用して空のレコードを完成させてください。

チェック012564に請求書番号PC0935があり、012565に少なくとも1レコードのPC0939があります。私たちは、これらの小切手番号の空白を記入するだけです。
すべてのレコードにはチェック番号が付きます。

UPDATE Table1 T1 INNER JOIN Table1 T2 ON T1.Check = T2.Check 
SET T1.Invoice = T2.Invoice 
WHERE T1.Invoice IS NULL AND NOT T2.Invoice Is Null 
+0

ご意見とご協力をいただき、ありがとうございます。別のテーブルであっても、同じテーブルの2つのカラムであれば、あなたのソリューションはおそらく動作します。インデックス/マッチでExcelにエクスポートすることは私の唯一の解決策かもしれません。新しいテーブルで別のアイデアを作成する。 –

+0

SQLは、ジョインの両側で同じテーブルを使用しています。 T1とT2はどちらもTable1のエイリアス名です。 –