Please indicate what kind of PLC you're using. No you don't need an OPC server, but think of it as your driver or API. You might find a direct driver (Archie is working on a few for "write your own HMI" projects).
Also think about what you're tackling and what your time is worth. Is it to collect data while you're sitting in front of the computer? Maybe it's a hobby project to hone your programming skills - I'm all for that. You'll appreciate a package as soon as you realize that you expect the program to: start automatically as a windows service (no user login), recover elegantly from crashes, etc. That said, you don't need as much of the fault tolerance with an RS232 connection and local Access database. Typically there are other potential problems that require data caching and reconnects with Ethernet based PLCs and remote SQL databases.
All said, if it's for a production system, I'd take the time to consider FactorySQL from Inductive Automation or OPC Datalogger from Software Toolbox and KepServerEX from Kepware before committing too much time on a custom programming project.