私は、古典的なフロントエンド/バックエンドアプローチを使用するAccessアプリケーションを持っています。昨日、バックエンドは私が知らない理由で壊れてしまった。だから私はAccess 2003でバックエンドを開き、アクセスしてファイルを修復したいのかどうか聞いてきました。私ははいと言っていました。「コンパクトで修復」操作後のMS Accessクエリの問題
私はデータベースを開くことができますテーブルの内容を参照して、ほとんどのクエリを実行します。
ただし、特定のwhere句では動作しないアクセスクエリがあります。
例:
// This works in the original DB, but not in the compacted one :
SELECT a, b, c
FROM tbl1 INNER JOIN tbl2 ON tbl1.d = tbl2.d
WHERE e = 3 AND tbl2.f = 1;
// This works in both the original and the compacted one :
SELECT a, b, c
FROM tbl1 INNER JOIN tbl2 ON tbl1.d = tbl2.d
WHERE e = 3;
私はクエリを実行しようと、何も起こりません。アクセスプロセスは、ほとんどのCPUを使用し始め、GUIは応答を停止します。クエリエディタからクエリを実行すると、Ctrl + Breakを使用して実行を停止できます。私は多くの時間をクエリに与えようとしましたが、それは助けになりませんでした。
私は再びDBを圧縮しようとした(少なくとも、実行に永遠に取るべきではありません)私はshowplan.outでの実行計画をチェックしましたし、それが正しいようです。私は新しいDBにテーブルをインポートしようとしました。私はテーブルとそのデータをmdbファイルにインポートしようとしましたが、これは現在の状態(バックアップから)になっています。
誰でも知っていますか?
2GBの制限に近いとは思いませんか? –
@jmgant:いいえ、それから遠く、私は約50MBです。 –
名前のオートコレクトを使用していますか? (トラック名オートコレクト情報、名前オートコレクトを実行してください) – JeffO