次のようなECDという名前のテーブルがあります。
Cle2 Mont Lettrage
acbd.... +8,36 Suspens
abcd... -8,36 Suspens
dced.. +12,89 Suspens
dced.. -12,89 Suspens
Cle2
同じグループに属するテーブル内のレコードを識別するフィールドは、レコード
Mont
ごとの金額を格納する
Lettrage
フィールドであり、クエリの結果に応じて変化するラベルを格納するフィールドです。
私がしなければならないことは、基本的にテーブル ECD を Cle2 でグループ化し、その間に Mont ( Sum(Mont)
) の値を合計してから、合計してグループ化した Mont の値がcle2
ゼロに等しいかどうかを確認することです。それらがゼロに等しい場合は、Lettrage
それらのレコードに OK のラベルを付けて更新します。そうでない場合は、これらのレコードに SUSPENS のラベルを付けます。
私はすでにアクセスでこれを行っていますが、コードはあまり効率的ではありません。私が基本的に行うことは次のとおりです。
1, という名前の新しいテーブルを作成しますprovisional
2, このテーブルに select Query の値を挿入します
コード:
INSERT INTO Provisor
SELECT Cle2 As Cle2p, Sum(MONTANT_ORACLE) AS Sum
FROM ECD
GROUP BY Cle2
3、テーブル ECD2 を作成します。空で、ECD と同じフィールドがあります。
4、このテーブルに、次のような結合ステートメントの結果を挿入します。
コード:
INSERT INTO ECDlet1
SELECT Provisor.lettrage As Let2, ecd.*
FROM Provisor
LEFT JOIN ECD ON Provisor.[Cle2p]=ECD.Cle2
5, 次に、データベースをクリーンアップLettrage
し、正しいラベルで更新します
したがって、私がやりたいことは、CurrentDb.Execute ステートメントを使用して Visual Basic でクエリを実行することを強調したい、愚かな物理テーブルをすべて作成せずに、このようなことを行うことです。
回答ありがとうございます。