2016-06-15 7 views
0

レコードを削除する際に問題があります。私は主キーであるAsset_IDという名前のフィールドを使用して2つのテーブルをリンクしました。一致しないすべてのレコードを取得するクエリを作成するので、一致しないレコードは削除します。私がクエリを実行すると、「指定されたテーブルから削除できませんでした」というエラーが表示され、いくつかの調査が行われ、削除クエリプロパティに移動して「Unique Records」オプションをYesに変更するように提案しました。働いていない。これで私を助けてください。Access 2010で別のクエリを使用してクエリを削除する

私はそれを行うにはアクセス2010のクエリビルダを使用しますが、ここでSQLコードでいます:ここで

DELETE DISTINCTROW [HANDHELD TABLE1 Without Matching HANDHELD TABLE].ASSET_ID 
FROM [HANDHELD TABLE1 Without Matching HANDHELD TABLE] 
WHERE ((([HANDHELD TABLE1 Without Matching HANDHELD TABLE].ASSET_ID) Is Not Null)); 

は、ハンドヘルドTABLE SQLをマッチングすることなく、私のハンドヘルドTABLE1です。

SELECT [HANDHELD TABLE1].ASSET_ID, [HANDHELD TABLE1].INSPECTION_NUMBER, [HANDHELD TABLE1].INSPECTION_FLUSH, [HANDHELD TABLE1].LAST_PRESSURE, [HANDHELD TABLE1].LAST_INSPECT_DATE, [HANDHELD TABLE1].ADDRESS, [HANDHELD TABLE1].LOCATION_DESCRIPTION1, [HANDHELD TABLE1].COMMENTS, [HANDHELD TABLE1].MUNICIPALITY, [HANDHELD TABLE1].PRESSURE_ZONE, [HANDHELD TABLE1].FACILITY_CATEGORY, [HANDHELD TABLE1].LIFECYCLESTATUS, [HANDHELD TABLE1].MANUFACTURER, [HANDHELD TABLE1].INSP_BY, [HANDHELD TABLE1].PAINT, [HANDHELD TABLE1].[GROUND CLEARANCE], [HANDHELD TABLE1].[CURB CLEARANCE], [HANDHELD TABLE1].OBSTRUCTIONS, [HANDHELD TABLE1].[STUFFING BOX LEAK], [HANDHELD TABLE1].[CAULKING LEAK], [HANDHELD TABLE1].CAPS, [HANDHELD TABLE1].DRIP, [HANDHELD TABLE1].[DRIP COMMENTS], [HANDHELD TABLE1].FLUSHED, [HANDHELD TABLE1].[OIL STUFFING BOX], [HANDHELD TABLE1].[OIL CAPS], [HANDHELD TABLE1].DRAINAGE, [HANDHELD TABLE1].[DRAINAGE COMMENTS], [HANDHELD TABLE1].LUBRICATION, [HANDHELD TABLE1].[OPERATING NUT], [HANDHELD TABLE1].[OPERATING NUT COMMENTS], [HANDHELD TABLE1].NOZZLE, [HANDHELD TABLE1].[NOZZLE COMMENTS], [HANDHELD TABLE1].[MAIN WASHER], [HANDHELD TABLE1].[INSPECTION YEAR], [HANDHELD TABLE1].[TIME INSPECTED], [HANDHELD TABLE1].NOISE, [HANDHELD TABLE1].TIMEOPENED, [HANDHELD TABLE1].TIMECLOSED, [HANDHELD TABLE1].TIMETOCLEAR, [HANDHELD TABLE1].OPENEDCOLOR, [HANDHELD TABLE1].CLOSEDCOLOR, [HANDHELD TABLE1].FLUSHREMARKS, [HANDHELD TABLE1].DATEFLUSHED, [HANDHELD TABLE1].LASTFLUSHDATE, [HANDHELD TABLE1].FLUSHEDBY, [HANDHELD TABLE1].TIMEFLUSHED 
FROM [HANDHELD TABLE1] LEFT JOIN [HANDHELD TABLE] ON [HANDHELD TABLE1].ASSET_ID = [HANDHELD TABLE].ASSET_ID 
WHERE ((([HANDHELD TABLE].INSPECTION_FLUSH) Is Null) AND (([HANDHELD TABLE].ASSET_ID) Is Null)); 
+1

これは、クエリまたはテーブルですか? '[HANDHELD TABLE1とHANDHELD TABLEが一致しない]'クエリがあった場合は、質問を編集してクエリのSQLを投稿してください – dbmitch

答えて

0

あなたの供給のクエリから、あなたが検査フラッシュがnullであるフィールドを見つけるために、それ自体がテーブルをリンクしているように見えます。

あなたの問題は、キーフィールド「ASSSET_ID」を自身に加入させて、ヌルを探しているままです。このケースはキーフィールドとして決して起こりません。

は次のようなものを試してください:

DELETE DISTINCTROW [HANDHELD TABLE_1].INSPECTION_FLUSH, [HANDHELD TABLE].* 
FROM [HANDHELD TABLE] LEFT JOIN [HANDHELD TABLE] AS [HANDHELD TABLE_1] ON [HANDHELD TABLE].INSPECTION_FLUSH = [HANDHELD TABLE_1].INSPECTION_FLUSH 
WHERE ((([HANDHELD TABLE_1].INSPECTION_FLUSH) Is Null)); 
+0

This Works Awesome、Thanks man。私は感謝します。 –

関連する問題