Select bom &&&& TABLE to be UPDATED Set Order To bom_pk &&& UNIQUE INDEX that drives the update *!* CREATE driving array with data Select bom_pk, itemvalue, vpc_pk, xinv_pk, itemcost From TBOMUPDATE Into Array atbomupdate Order By bom_pk lalen=_Tally *!* Process UPDATE's For iup = 1 To lalen Update bom ; set itemvalue = atbomupdate[iup,2], ; vpc_pk = atbomupdate[iup,3], ; xinv_pk = atbomupdate[iup,4], ; itemcost = atbomupdate[iup,5] ; where bom.bom_pk = atbomupdate[iup,1] EndforThe BOM table is not that big... approx 600K records, and for the above snippet ( updating about 30 records... ) it takes 20 seconds...