Don't want to appear critical (as I've posted polls, it's hard to figure out the options and many people just say they didn't find one they liked) - but yet here goes: I didn't vote because no option reflects my opinion on the issue.
Attachments work perfectly fine. But, I recommend using them only in situations where their total volume (in total size of all attachments) will be quite limited. Otherwise, the database will become unnecessarily large and remember you have a very limited total size ....
Thus, in most situations I've had exposure to, a better idea is to store the file in a shared networked location/folder. Only store the full path to it (and of course, never a reference to a mapped drive as a rule of thumb, but the full UNC path). Then you can code to 'do' things with it when needed. When users want to view these files, I generally code to create a copy of the file only - to their local, then open that copy. This avoids unwanted edits. On the other hand, you may actually want edits.
Also, if you are worried about giving people full access to this folder, you could avoid that by using a Service Account and writing code to map a drive letter on-the-fly-with-credentials to access the files. (But that's a whole 'nother discussion, fraught with problems and will probably invite well deserved criticism - I'm just mentioning it).
Frankly, I pretty much always use this approach, if it's possible.
Finally, there is another scenario. If your database users span different networks and Sharepoint is the only connecting thread that exists (I'm in that situation now for certain projects), then Sharepoint attachments may be your best option, actually - and the folder option isn't an option at all.
Even in this case, I wouldn't recommend coding to open the attachment directly from Sharepoint - I'd code to download a copy, open for them to edit, save & close, and then delete the original and re-upload the edited version.
Lastly, upgrade to SQL potentiality. I agree with MajP that original intentions commonly don't match ultimate use cases. Thus, you should always plan to scale. However, if you are storing attachments in an Access database and someday have to do a migration, it's not difficult to write code that downloads all attachments with a reference to which record they belong to and then move to a network folder storage scheme. Possibly .5-2 hours of coding depending on how many attachments you have and what other columns you have to denote what is what - or any other conventions in use. Probably a drop in the bucket compared to your overall custom work that will be required to migrate to a GOOD sql structure.
That's the most well rounded advice I'm capable of on this subject, I think. Hope it helps.