MS ACCESSを使用中に問題があります。私は約1.2 Mioのエントリを持つテーブルを持っています。MS ACCESSグループ/ソート順に
*Column1 Column2 Column3*
**Name Code Datum**
aaa 111 01.01.01
aaa 111 02.01.01
aaa 222 03.01.01
aaa 222 04.01.01
aaa 222 05.01.01
aaa 111 06.01.01
aaa 111 07.01.01
aaa 111 08.01.01
bbb 333 01.01.01
bbb 333 02.01.01
bbb 111 03.01.01
bbb 111 04.01.01
bbb 333 05.01.01
bbb 333 06.01.01
ccc 222 01.01.01
ccc 222 02.01.01
ccc 222 03.01.01
ccc 222 04.01.01
この表はに要約する必要があります。
**NAme Code ValidFrom ValidTo
aaa 111 01.01.01 02.01.01
aaa 222 03.01.01 05.01.01
aaa 111 06.01.01 08.01.01
bbb 333 01.01.01 02.01.01
bbb 111 03.01.01 04.01.01
bbb 333 05.01.01 06.01.01
ccc 222 01.01.01 04.01.01
問題は、私は複数のレコードセットで動作するVBAコードを持っていることを、1は1.2 MIOエントリをループして名前かどうかを比較され、 COdeは同じであり、更新は有効な日付を更新し続けます。その1つが名前、コード、有効開始日を変更するとすぐに、最初のエントリから取得されます。その後、seconレコードセットは最初のレコードセットのレベルに設定されます。 この方法には時間がかかります....
もっとエレガントな方法がありますか?たぶんSQLと?グループを使用し、次に日付の最小値を使用します。この考えは私の心に浮かんだが、残念ながら同じ名前のコードを繰り返している。 :-(
PS:Idially私はそれ以下の形式が必要です。
Name Code Valid From Valid to
aaa 111,222,111 01.01.01,03.01.01,06.01.01 02.01.01,05.01.01,08.01.01
bbb 333,111,111 01.01.01,03.01.01,05.01.01 02.01.01,04.01.01,06.01.01
ccc 222 01.01.01 04.01.01
私はあなたの助けを本当に感謝していますし、それを感謝し
よろしく
ms-access SQLでこれを行う方法はありません。 SQL Serverのストアドプロシージャは、おそらくそれを効率的に処理できます。コードをより効率的にするために、ループとレコードセットのクエリを見ることができます。私はVBAを使用して周りに方法が表示されません。 – dbmitch