Primero tienes que abrir la ventana de Referencias (esta en herramientas en barra de herramientas tabla excel), luego activas dando click en cuadro blanco a extrema derecha del titulo de "Microsoft DAO 3.6 object library" (advertencia creo que puedes utilizar tambien ADO ). Esto te permite utilizar las instrucciones de DAO las cuales utilizo en el ejemplo que te voy a dar:
1. Crea un módulo y escribe las siguientes instrucciones:
Public Basedatos As Database
Public Registros As Recordset
Donde basedatos es el nombre de tu base datos interna (en tu programa)
2. para abrir la base de datos las siguientes instrucciones:
Set Basedatos = OpenDatabase("c:VBABasedatosiuspo.mdb")
3. Para accesar una tabla debes ejecutar las siguientes instrucciones:
Set Registros = Basedatos.OpenRecordset("alumno", dbOpenSnapshot)
4. para actualizar la BD:
Sub guarda()
Registros("cedula") = txtCedula.Text
Registros("nombre") = txtNombre.Text
Registros("apellido") = txtApellido.Text
Registros("direccion") = txtDireccion.Text
Registros.Update
Exit Sub
End Sub
Aquí "nombre" es un campo de una tabla de la base de datos. y txtNombre es un textbox pero puede ser una variable.
Function Busca(Cedula As Long) As Integer
Registros.FindFirst "cedula = " & Cedula
If Registros.NoMatch Then
Busca = 0
Else
Busca = 1
End If
End Function
Con esta función busca un determinado registro en una tabla de la base de datos por el campo cédula. Esto para el caso de modificar y eliminar por que los registros deben existir.
Sub cargarecordseT1()
Set Registros = Basedatos.OpenRecordset("alumno", dbOpenTable)
End Sub
Sub cargaREcordset()
Set Registros = Basedatos.OpenRecordset("alumno", dbOpenSnapshot)
End Sub
'Fíjate en las diferencias de estas dos rutinas consulta la ayuda VB DAO.
Private Sub cmdElimina_Click()
On Error GoTo Mensaje:
cargaREcordset
If Busca(txtCedula.Text) = 1 Then
If MsgBox("Seguro de Eliminar Registro?", vbQuestion + vbYesNo, "cantv") = vbYes Then
cargarecordseT1
Registros.Delete
End If
Else
MsgBox "Cedula Invalido.......", vbCritical, "cantv"
End If
desactiva
LIMPIA
txtCedula.SetFocus
Exit Sub
Mensaje:
MsgBox "Opeacion NO Valida.......", vbCritical, "cantv"
LIMPIA
txtCedula.SetFocus
End Sub
Private Sub cmdModifica_Click()
'On Error GoTo Mensaje:
cargaREcordset
If Busca(txtCedula.Text) = 1 Then
cargarecordseT1
Registros.Edit
guarda
Else
MsgBox "Cedula Invalida.......", vbCritical, "IUSPO"
End If
desactiva
Exit Sub
'Mensaje:
'MsgBox "Opeacion NO Valida.......", vbCritical, "cantv"
'LIMPIA
'txtCedula.SetFocus
End Sub
Private Sub cmdsalir_Click()
Unload Me
End Sub
Este ejemplo fue hecho con formularios y creo que las instrucciones que utilizas en tu programa las puedes utilizar también, por supuesto, luego de haber hecho las instrucciones que aquí te indico.
Espero que este ejemplo te sea de ayuda.