Leandro, esta bien, salvo como te dije, el tema este de los botones (flechas), puede parecer simple, pero es un lio mantenerlo si tenes mas campos, tenes que nadar deshabilitando y habilitando controles, y lineas de codigo al pedo, que con una grilla lo solucionas.
la basica es una grilla principal, donde hacer doble click significa editar el registro(se te levanta una pantalla con los datos del registro seleccionado), y un boton nuevo arriba de la grilla, donde se te levanta la misma pantalla de la edicion, pero vacio, asi das de alta el registro.
primero no declarar las variables como As New, y siempre lo hagas con As primero, y despues setearla con Set, ¿porque? bueno porque la primera forma esta desaconsejada usar por temas de performance, ya que el visual basic internamente chequea (cada vez que usas la variable), chequea si el objeto esta instanciado o no (demora un tiempo imperseptible, pero en bucles puede notarse), en cambio de la segunda forma no lo hace y es la correcta, aparte una vez me paso de mantener un sistema que lanzaba un error y era porque estaba declarada una variable con As New, desde el IDE funcionaba correctamente, pero al compilarlo en la pc destino lanzaba error y era por eso.esto es para cualquier objeto.
siempre que se usa algo de bases de datos es bueno usar un modulo comun para declarar las variables globales y ahi en el Sub_Main hacer la conexion a al base, y dejar los formularios sin ese codigo.
aca te paso un codigo de como deberia quedar el modulo.
Option Explicit
Public mConexion As ADODB.Connection 'Conexion Principal
Public mRs As ADODB.Recordset 'Recordset Principal
Public mRsAux As ADODB.Recordset 'Recordset Auxiliar
Public mCmd As ADODB.Command 'Para Ejecutar Comandos
Sub Main()
Set mConexion = New ADODB.Connection
Set mRs = New ADODB.Recordset
Set mRsAux = New ADODB.Recordset
Set mCmd = New ADODB.Command
mConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TuBase.mdb;"
mConexion.Open
frmLogin.Show ' Aca mostras tu Formulario de inicio
End Sub
esa variable que puse llamada "mCmd" es para ejecutar comandos SQL, o sea INSERTS, DELETE, UPDATE a la base de datos, ya que yo opto por usarlo asi en vez de usar los metodos .AddNew o .Update o Delete del recordset, lo cual te va a enseñar de paso el lenguaje SQL.
la variable "mRs" es para ejeuctar selects rapidos, por ejemplo si queres abrir , consultar y despues cerrar, ahi tenes este recodset para llamarlo desde donde quieras. el otro que se llama "mRsAux" es tambien un recodset, por las dudas necesites otro mas tener abierto, ya si necesitas mas que 2, entonces los declaras en los formularios y los destruis ahi.
saludos.