So I'm using the .Net datas provider that came with client access to write windows programs against out 400. If I query a physical file I will also get a shared lock on a logical that has the same key. For example my SQL is "select max(columnA) from table1." If columnA is the key in a logical, I get a file lock on table1 and physical1. It's almost like it looks like it's passing my to the logical, but my query times don't reflect that. Any ideas what I'm talking about?