Maneja BD Access con Excel 2º Pregunta

Nuevamente molesto tu atención, esperando que estés gozando de buena salud lo mismo que tu family. Mira, hace un tiempo atrás estudié algo de Visual Basic, pero las aplicaciones desde el Excel son algo distintas y me confunde, y como no me dedico a esto en forma constante los detalles se escapan de la memoria, lamentablemente no es como montar bicicleta sino como tocar piano, cuando lo dejas por un tiempo pierdes destreza. Si mal no recuerdo el código de conexión con Access que me indicaste hace unos días en Visual lo colocaba en el UserForm_Load(), pero en Excel no hay el Load ¿lo debo colocar en el Private Sub UserForm_Initialize()?. ¿Serías tan amable de darme una descripción breve de donde colocarlo y explicarme como se enlaza el Excel con el Access para entender como se llega al resultado?. Por lo menos si recordé que debo activar en el menu Herramientas la Referencia Microsoft ActiveX Data Objects 2,5 Library. Ahora, si sabes de alguna página o manual que me indique esto te agradeceré me lo hagas saber, así tal vez pregunte menos, o si tuvieras algo que me pudieras alcanzar por e-mail mi dirección es [email protected].'pe .
Gracias por tu tiempo y tu vocación de ayudar. Dios te bendiga.

1 respuesta

Respuesta
1
Estoy muy bien y deseo que tu también...
Si, como casi cualquier actividad, si no lo practicas se olvida fácilmente, pero tratemos de refrescar la memoria...
Así es, los UserForm de Excel no tienen evento Load, pero puedes usar sin problemas el evento Initialize
Para "enlazar" con bases MDB de Access básicamente son dos cosas
Establecer una conexión
Devolver un recordset
Para establecer la conexión puedes usar DAO o ADO, te recomiendo ADO, pues DAO ya esta descontinuado
Hay varias formas pero te muestro la más común, dentro del evento Initialize del UserForm hacemos la conexión, después en un botón de comando abrimos un recordset, podemos cerrar y abrir las veces que sean o declara varias variables para diferentes recordset, por supuesto estamos hablando de una base de datos existente, con una tabla existente
Option Explicit
Dim adoCon As ADODB.Connection
Dim adoRst As ADODB.Recordset
Private Sub UserForm_Initialize()
AbrirConexion
End Sub
Private Sub cmdAbrirRecordset_Click()
adoRst.Open "SELECT * FROM tblAmigos", adoCon, adOpenDynamic, adLockOptimistic
MsgBox "Existen " & adoRst.RecordCount & " registros"
End Sub
Public Sub AbrirConexion()
Dim strRuta As String
Set adoCon = New ADODB.Connection
'Ruta a la base de datos
strRuta = ThisWorkbook.Path & "\Directorio.mdb"
adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strRuta
End Sub
No conozco ninguna página que trate del tema en español, en ingles hay algunas, pero es muy poco, espero muy pronto poner algo más extenso en mi página.
Recuerdo que en Visual debíamos activar unas referencia para poder conectarnos de la manera que me indicas. En el Excel ¿también exisaten estas referencias? ¿Cuál sería? Gracias.
La misma que mencionaste
** Por lo menos si recordé que debo activar en el menu Herramientas la Referencia Microsoft ActiveX Data Objects 2,5 Library **

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas