2

I have very little knowledge of how access works, but I need some more efficient then what I am doing now.

I have these queries:

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #04/07/2003#
WHERE ((([Receipt Audit].[Receipt Date])=#4/7/303#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #2/27/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#2/27/404#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] =#5/29/2003#
WHERE ((([Receipt Audit].[Receipt Date])=#5/29/303#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] =#8/25/2003#
WHERE ((([Receipt Audit].[Receipt Date])=#8/25/303#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #8/28/2003#
WHERE ((([Receipt Audit].[Receipt Date])=#8/28/303#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #9/29/2003#
WHERE ((([Receipt Audit].[Receipt Date])=#9/29/303#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #2/25/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#2/25/404#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #3/30/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#3/30/404#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #8/23/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#8/23/404#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #8/25/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#8/25/404#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #8/26/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#8/26/404#));


UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #8/27/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#8/27/404#));

UPDATE [Receipt Audit]
SET [Receipt Audit].[Receipt Date] = #8/30/2004#
WHERE ((([Receipt Audit].[Receipt Date])=#8/30/404#));

The problem is I have to run them all individually. Is there a way I could combine them into one query? Any help is appreciated.

4

3 に答える 3

1

残念ながら、Microsoft Access では複数のクエリを同時に実行することはできません。私が考えることができる2つのアプローチがあります。

  • [マクロを書く] または VBA 手順1 :

特定の一連のアクションを実行するマクロを作成したり、関連する一連のアクションを実行するマクロ グループを作成したりできます。

Microsoft Office Access 2007 では、マクロをマクロ オブジェクト (スタンドアロン マクロと呼ばれることもあります) に含めるか、フォーム、レポート、またはコントロールのイベント プロパティに埋め込むことができます。埋め込まれたマクロは、埋め込まれたオブジェクトまたはコントロールの一部になります。マクロ オブジェクトは、ナビゲーション ウィンドウの [マクロ] の下に表示されます。埋め込みマクロはそうではありません。

ただし、他のルートの方がはるかに優れている場合があります。マクロを実行するために Access 内にいる必要がないためです。

  • クエリ プログラムを作成します。

このようにして、データベースに物理的に接続するプログラムを作成できます。その後、プログラムは面倒な作業を行うことができます。これにより、それをより細かく制御することもできます。次に、実際のプログラミング言語が操作されます。

それらが役立つかどうかはわかりませんが、実際には似たようなサンプルプロジェクトがあります.Gitに投稿してここで編集します.

于 2013-10-15T15:43:31.460 に答える
0

以下のクエリは、特定の年に対して非常に簡単に実行できます。

UPDATE [Receipt Audit] AS R
SET R.[Receipt Date] = 
DateSerial(
        2004,
        Month(R.[Receipt Date]),
        Day(R.[Receipt Date])
        );
WHERE Year(R.[Receipt Date]) = 404

DateSerial変更する年ごとに where 句と年の部分を変更するだけです。

または、Year(R.[Receipt Date]) = 404うまくいかない場合は、次を試してください。

WHERE Right(R.[Receipt Date],3) = '404'
于 2013-10-15T15:40:01.240 に答える