sqlstr = "Insert into kc(t,t1,f,s)SELECT DISTINCT A.t, a.t1, a.f, A.s+Nz(B.sums,0)+nz(C.sums,0)-nz(D.sums,0) AS s 
FROM (([select *,0 as s from (SELECT t,t1,f FROM rk union SELECT t,t1,f FROM dc3 union SELECT t,t1,f FROM qcsl) tt]. AS A 
LEFT JOIN [select t,t1,f,sum(s) as Sums from qcsl  group by t,t1,f]. AS B ON (a.f=b.f) AND (A.t1 = B.t1) AND (A.t = B.t)) 
LEFT JOIN [select t,t1,f,sum(s) as sums from  rk group by t,t1,f]. AS C ON (A.f = C.f) AND (A.t1 = C.t1) AND (A.t = C.t)) 
LEFT JOIN [select t,t1,f,sum(s) as sums from dc3 group by t,t1,f]. AS D ON (A.f = D.f) AND (A.t1 = D.t1) AND (A.t = D.t) 
WHERE A.s+Nz(B.sums,0)+nz(C.sums,0)-nz(D.sums,0)<>0"
NZ是ACCESS中的函数,以上的语句在ACCESS中,可以实现,但是在VB中报错,NZ为定义,请问应该这样解决?