if not seek(m.State+m.City+m.lcStreet+m.OddEven+bintoc(m.lnLow),'Streets','CityStreet') or ; Streets.high<>m.lnHigh or Streets.UnitLow<>m.UnitLow or ; Streets.UnitHigh<>m.UnitHigh insert into Streets (low, high, OddEven, STREET, zip_code, zip4, ; carrier_rt, ccode, town, State, City, ; cnsstract, cnssBlgr, lat, lon, UnitLow, UnitHigh) ; values (m.lnLow, m.lnHigh, m.OddEven, m.lcStreet, m.zip, m.zip4, ; m.crrt, m.ccode, m.town, m.State, m.City, ; chrtran(substr(m.block,6,7),".",""), ; substr(m.block,13,1), m.lat, m.lon, m.UnitLow, m.UnitHigh) endifDo you see problems in it? I just ran my update code and it produced 1,6MM records. Originally I ran the code without check, and then select distinct and append, but these two processes took very long time, so I decided to do a check while processing... I believe, in my first tests I got around 1,45MM records, so may be this code is wrong. Could you please help me to understand, what's wrong with it?