2011-12-11 101 views
1

我有兩個表。在UniqueZips表中有一個代碼字段分配,
我的目標是匹配來自兩個表中的每個窗口的字段,並將代碼從Uniquezips表分配給Route tbl,但下面的代碼無法提供任何建議?更新表結果

UPDATE [Route tbl], UniqueZips 
SET [Route tbl].CODE = [UniqueZips]![CODE] 
WHERE (([Route tbl]![WINDOW 1]=[UniqueZips]![WINDOW 1] & 
    [Route tbl]![WINDOW 2]=[UniqueZips]![WINDOW 2] & 
    [Route tbl]![WINDOW 3]=[UniqueZips]![WINDOW 3] & 
    [Route tbl]![WINDOW 4]=[UniqueZips]![WINDOW 4] & 
    [Route tbl]![WINDOW 5]=[UniqueZips]![WINDOW 5])); 

我也厭倦了這種

UPDATE UniqueZips 
    INNER JOIN [Route tbl] ON (UniqueZips.[WINDOW 3] = [Route tbl].[WINDOW 3]) 
    AND (UniqueZips.[WINDOW 5] = [Route tbl].[WINDOW 5]) 
    AND (UniqueZips.[WINDOW 4] = [Route tbl].[WINDOW 4]) 
    AND (UniqueZips.[WINDOW 2] = [Route tbl].[WINDOW 2]) 
    AND (UniqueZips.[WINDOW 1] = [Route tbl].[WINDOW 1]) 
    SET [Route tbl].CODE = [UniqueZips]![CODE] 
    WHERE ((([Route tbl]![WINDOW 1]=[UniqueZips]![WINDOW 1] 
     & [Route tbl]![WINDOW 2]= [UniqueZips]![WINDOW 2] 
     & [Route tbl]![WINDOW 3]=[UniqueZips]![WINDOW 3] 
     & [Route tbl]![WINDOW 4]=[UniqueZips]![WINDOW 4] 
     & [Route tbl]![WINDOW 5])=[UniqueZips]![WINDOW 5])); 

好了,以前我是沒有得到結果,但現在香港專業教育學院試過這種

 UPDATE [Route tbl], UniqueZips 
     SET [Route tbl].CODE = [UniqueZips]![CODE] 
     WHERE (((StrComp([Route tbl]![WINDOW 1],[UniqueZips]![WINDOW 1]) & 
      StrComp([Route tbl]![WINDOW 2],[UniqueZips]![WINDOW 2]) & 
      StrComp([Route tbl]![WINDOW 3],[UniqueZips]![WINDOW 3]) & 
      StrComp([Route tbl]![WINDOW 4],[UniqueZips]![WINDOW 4]) & 
      StrComp([Route tbl]![WINDOW 5],[UniqueZips]![WINDOW 5]))="0")); 

然而,這符合他們,但不正確的,任何幫助,所有這一切?

+0

'window'是什麼意思?你有兩種表格可以打開嗎?如果有,表格是什麼類型的?如果是形式,這可能會簡單得多。 – Fionnuala

回答

2

普萊斯不踢自己太辛苦......

我認爲一旦你用關鍵字AND替換字符串連接運算符&前兩個會很好地工作。