• As NPeeters mentioned, look at the default locking done by the VB logic. We had a similar situation with a sproc doing large calculations on a table used for simultaneous reporting. Turned out that the calculation piece was doing a delete on the table with criteria. This placed an exclusive lock on the entire table, thus blocking out everyone else, including select statements.

    While the calculations are happening, try going into Enterprise Manager and viewing management --> current activity --> locks by object. This will show you the current locks on the table in question as well as the types of locks.

    Also, incorporating this logic into a sproc will greatly improve the performance.

    Look at the volume of data affected by this process, too. Perhaps your server is running low on resources (memory, CPU, etc)?