>This.Cursor2.Database="e:\proddata\prodschd.dbc" >This.Cursor3.Database="e:\proddata\prodschd.dbc" >This.Cursor4.Database="e:\proddata\prodschd.dbc" >This.Cursor5.Database="e:\proddata\prodschd.dbc" > >This.Cursor1.CursorSource="E:\ProdData\Desc.dbf" >This.Cursor2.CursorSource="E:\ProdData\Carbon.dbf" >This.Cursor3.CursorSource="E:\ProdData\D3dept.dbf" >This.Cursor4.CursorSource="E:\ProdData\Deltodpt.dbf" >This.Cursor5.CursorSource="E:\ProdData\Inst1.dbf" >Maybe .beforeopentables() is too late, and the tables are already open? You may check for used("desc"), used("carbon") etc, also dbf("desc") _before_ this code runs, just to see whether the tables are open or not.