簡體   English   中英

為什么在MS Access中運行更新查詢時要求輸入“輸入參數值”?

[英]Why am I asked for “Enter parameter value” when running update query in MS Access?

我一直在為查詢苦苦掙扎,不知道這是怎么回事。 我不是高級SQL用戶,但對SQL有一定了解。

我有兩個表,我試圖用另一個表中的字段更新一個字段。 它們在每個字段中都沒有唯一的標識符,因此需要與三個字段(HoleID,From,To)匹配,尤其是因為表LEAPFROG_Lithology的記錄比Lithology表中的From / To不相同。

我一直在尋找關於類似主題的問題,並嘗試了不同的查詢變體,但沒有任何效果,它總是要求我“輸入參數值”。 我嘗試了一個一個這樣的內關節,但是沒有用。

這是我嘗試過的:

版本1

Update LEAPFROG_Lithology 
SET LEAPFROG_Lithology.Primary_litho = (
SELECT Lithology.Primary_litho 
FROM Lithology
RIGHT JOIN LEAPFROG_Lithology ON (
    Lithology.[HoleID] = LEAPFROG_Lithology.[HoleID] and 
    Lithology.[From_m] = LEAPFROG_Lithology.[From_m] and 
    Lithology.[To_m] = LEAPFROG_Lithology.[To_m])) 
Where LEAPFROG_Lithology.Primary_litho is null  ;

第2版 (也嘗試了INNER JOIN)

Update LEAPFROG_Lithology
LEFT JOIN Lithology ON (
    LEAPFROG_Lithology.[HoleID] = Lithology.[HoleID] and 
    LEAPFROG_Lithology.[From_m] = Lithology.[From_m] and 
    LEAPFROG_Lithology.[To_m] = Lithology.[To_m]) 
SET LEAPFROG_Lithology.Primary_litho = Lithology.Primary_litho 
Where LEAPFROG_Lithology.Primary_litho is null  ;

我到處都嘗試過[],沒有嘗試過。 沒關系。

有人可以告訴我我在做什么錯嗎? 謝謝!

使用JOIN之前,請確保兩個表都可以形成關系,您需要確保一個表中的PRIMARY KEY對應於另一表中的FOREIGN KEY才能將它們聯接。

Access使您可以使用設計視圖來創建查詢,如果您不懂SQL的話,這很容易。 可視化設計后,您可以切換到SQL視圖以查找代碼。

在此處輸入圖片說明 在此處輸入圖片說明

請驗證表和字段的名稱正確。 如果是這樣,第二個查詢應該工作。

但我建議使用稍有不同的括號,以便您可以顯示查詢的圖形設計視圖。 另外,也不需要使用LEFT JOIN,因為對於沒有Primary_litho且沒有匹配的Lithology的記錄,NULL值將被更新為NULL值。 因此,這應該可以正常工作:

UPDATE LEAPFROG_Lithology
INNER JOIN Lithology ON 
   (LEAPFROG_Lithology.[HoleID] = Lithology.[HoleID]) AND
   (LEAPFROG_Lithology.[From_m] = Lithology.[From_m]) AND
   (LEAPFROG_Lithology.[To_m] = Lithology.[To_m])
SET LEAPFROG_Lithology.Primary_litho = Lithology.Primary_litho 
WHERE LEAPFROG_Lithology.Primary_litho Is Null;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM