Espero que esto te ayude.
Siempre que trabajes con una BD, lo primero que debes saber es si el registro existe o es nuevo, entonces lo que tienes que hacer es en el momento que marcar su clave principal es mandarlo a leer para averiguar si existe o no y a continuacion si existe pintar los datos que tienes en el formulario, modificar lo que necesites y luego guardarlos.
mas o menos seria asi
leo el registro
if no existe BD.addnew
pinto formulario en blanco
BD.Update
Else