Oh and do the per row information display as one form or container (controls in form, in picturebox, frame). When the user will view/update/delete one record, you now have a reusable container which shows appropriate information based on primary key passed (it queries table returning just one record and updates the controls with values. You cal also pass other arguments to control which buttons (add, update, delete) are show in this form/container like what the message box does (eg. vbYesNo, vbOkCancel).