RobertSF wrote:
If you have any opinions about the code I posted for learning purposes, I would love to hear them.

You may want to do more error checking within your program.
1. If you start an empty database you are presented with the "enter new contact window". If you press any of the arrow buttons you will crash the program because there are no existing records yet.
2. If you press the "-" button to delete a record and answer yes, you will receive an empty error box and the program quits.
3. If you add a record and then exit to the main window, then double click to edit the record... press the '-' to delete the record and answer yes, instead of deleting the record and going back to the main screen it stays on the edit window allowing you to press '-' again and if you answer yes again, it will give an empty error box and program quits.
4. Do #3 again but instead of pressing '-' a second time press any of the arrows, program will crash (because no more records exist)
5. When you double click to edit a record, sometimes you can update a record by pressing the check button and other times it creates a new record instead.
6. There are also issues with adding and deleting records and the wrong rows are deleted or changed in the main list, forcing you to press the programs 'refresh' button to clear and repopulate the list to view the correct information