修改為: INSERT INTO PMSANGAL_TBLSPECSTEPS ( MOD, [CATALOG#], [STEP#], LAYER, MIN_OHMS, NOM_OHMS, MAX_OHMS, LEFT_PERCENT, RIGHT_PERCENT ) SELECT tblSpecSteps.Mode, tblSpecSteps.[Catalog #], tblSpecSteps.[Step #], tblSpecSteps.Layer, tblSpecSteps.[Min Ohms], tblSpecSteps.[Nom Ohms], tblSpecSteps.[Max Ohms], tblSpecSteps.[Left %], tblSpecSteps.[Right %] FROM tblSpecSteps LEFT JOIN PMSANGAL_TBLSPECSTEPS ON ((tblSpecSteps.[Catalog #] = PMSANGAL_TBLSPECSTEPS.[CATALOG#]) AND (tblSpecSteps.[Step #] = PMSANGAL_TBLSPECSTEPS.[STEP#])) WHERE (((PMSANGAL_TBLSPECSTEPS.[CATALOG#]) Is Null) AND ((PMSANGAL_TBLSPECSTEPS.[STEP#]) Is Null));因?yàn)樗兄麈I列均非空,所以您需要在 WHERE 條件中使用 AND。 對所有表重復(fù)以上步驟。 假如表中沒有主鍵,則使用 AND 而非 OR 在所有列上進(jìn)行一次聯(lián)接并在所有列上進(jìn)行一次 null 檢查。 轉(zhuǎn)到“宏”。 在“操作”中選擇“OpenQuery”,并選擇追加的查詢之一。“視圖”將是“數(shù)據(jù)表”,而“數(shù)據(jù)模式”將是“編輯”。 保存該宏。 選擇該宏,并轉(zhuǎn)到“工具”-“宏”->“將宏轉(zhuǎn)換為 Visual Basic 代碼”。 假如尚未選中“給生成的函數(shù)加入錯(cuò)誤處理”和“包含宏注釋”,則選中此二者,并單擊“轉(zhuǎn)換”,將該宏轉(zhuǎn)換為具有函數(shù)名的模塊。 保存該模塊。 再次轉(zhuǎn)到該模塊,對其進(jìn)行更改,使用以下的模板: '------------------------------------------------------------ ' CalMacro ' '------------------------------------------------------------ Function CalMacro() On Error GoTo CalMacro_Err
Dim strConnect As String Dim strMyFile As String Dim dbs As Database Dim rst As RecordsetstrConnect = "ODBC;DATABASE=PUNEET;DSN=PUNEET;" & "UID=PMSANGAL;" & "PWD=********;"'PUNEET is the DSN or name of the database...Set dbs = OpenDatabase("", False, True, strConnect) Set rst = dbs.OpenRecordset("PMSANGAL.tblCal", dbOpenDynaset)
DoCmd.SetWarnings False DoCmd.OpenQuery "tblCal Without Matching PMSANGAL_TBLCAL", acNormal, acEdit