There is no easy answer to securing your db. Code, forms and reports are easy in principle - convert to mde or accde but there are facilities out there to break the compilation if someone really wants to spend the money.
To protect queries you need to do as suggested by rainlover - or a variation is one of the things I do which is to store the query sql in a table in a separate encrypted db and have some code that opens the db, returns the appropriate query sql and then runs it.
To protect tables, again, put them in a separate encrypted db and link to them.
However anyone who is access savvy will know where to look to find the password and for that matter the location of the tables db so perhaps does not go far enough. Enter SQL server etc. Or...
You can bury the linking data in VBA code which if encrypted provides pretty good protection from your average hacker.
So, user opens the db and sees no tables or queries, only compiled forms, reports and modules. To break into the system they need to be able to decompile the code and dencrypt another db or two - are they going to consider it is worth the effort?
Another thing you can do is hide the access window, but this will only work if all your forms are popup and modal and again a user could just create a blank db and then copy all tables, forms etc across -but not if the db is encrypted/compiled, so back to this as a solution. As a full time developer I only hide the access window to enhance the user experience, not as a security device.
Going back to your original post - not splitting the db is likely to be fraught with problems and if anything makes your objective harder to achieve.
With regards a set network location, depending on the size of the organisation this can be difficult to achieve. Look at the environ data - so you could for example identify a user login and/or machine id and limit access to those on the 'approved' list. With regards networks, you could perhaps put an empty file (could be hidden) on the network in a suitable location and have your application try to find it - if it can't then the application closes - implication being the user is not on the network. This may not be appropriate if users are not always connected to the network.
You cannot prevent someone copying the db to their hard drive, but again, if you have front end/back end you can hide the back end pretty well - you can even change the file type in the name so it looks like a text file, pdf, zip file whatever. You can also put some code into the front end which determines where it is, and if it is on a C drive it just closes and can even delete itself.