Saltar al contenido

Conexion Formulario de Excel con Ado o Acces


Recommended Posts

publicado

Hola a Todos, tiempos sin escribir, pues realmente el diseño de la aplicación de formularios de excel esta funcionando perfecto, pero a hoy por la cantidad de información y un numero mayor de usuarios me veo en la necesidad de realizar una conexión a una base de datos externa, he leido algo y se puede hacer con ADO para un libro de excel aparte como base de datos o por medio de una base de datos en acces en realidad este tema hasta ahora lo empiezo a descubrir, y en realidad me cuesta demasiado trabajo comprenderlo, pues en este foro he encontrado algunos, ejemplos al respecto pero no he podido lograr implementarlo en mi archivo, pues no están como bien documentados y explicados, y en mi caso no encuentro la manera de realizar una búsqueda a una base de datos externa de excel o acces. El archivo adjunto es una parte de la aplicación puesto que la terminada no la puedo enviar por este medio por su peso. Pero si me gustaría me ayudaran a mirar como puedo realizar esta conexión de acuerdo a los formularios que aparecen.

Muchas Gracias pos su ayuda de siempre.

Saludos.

Aplicacion_Requerimientos(3).zip

publicado

Buen dia amigo

Actualmente no dispongo a la mano del código para usar una base de datos externa, en este caso ACCESS, sin embargo puedo dársela el próximo lunes 14/10/13 para que la vea y le haga pruebas.

Al principio puede ser un tanto difícil, no obstante con la practica verá que es muy sencilla.

Por lo pronto, lea sobre el control active data object . Una sugerencia:

ActiveX Data Objects - Wikipedia, la enciclopedia libre

publicado

Muchas Gracias Enigma25, claro le agradezco si me puede enviar el codigo el proximo lunes, lo reviso y cualquier inquietud le cuento. En realidad es siempre importante conocer personas que lo ayuden, gracias de nuevo.

publicado

Buen dia

Queria preguntarte... que tan familiarizado estás con ACCESS?

Puedes crear una base con sus tablas y demás?

- - - - - Mensaje combinado - - - - -

Hola

Te dejo un pequeño ejemplo de conexion ADO. En este caso seria desde un libro Excel a otro. Es solo a manera de ver las conexiones y demás.

Nota importante:

Para que puedas usar la conexion, debes ir al editor de Visual-Herramientas-Referencias-busca el control Microsoft ActiveX Data Objects 2.8 Library o el mas alto segun la version Excel y seelccionalo. Este control es para la conexion ADO.

Viendo que usas Excel 2010, tendrias que cambiar la version de la conexion. Este caso colocas 14.0 en vez de 12.0. Lo verás en el siguiente codigo el cual está en negrita.

Sub Conecta()
Set Cnn = New ADODB.Connection
With Cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Registros.xlsm" & ";Extended Properties=""Excel 12.0;HDR=Yes;"""
.Open
End With

[/PHP]

Seguiremos en contacto porque falta ahora la conexion a ACCESS.

Prueba de Conexion ADO Excel a Excel.zip

publicado

Revisa este aporte.

https://www.ayudaexcel.com/foro/ideas-aportes-64/excel-bases-datos-sql-ado-14046/

Te adelanto que debes tener un mínimo conocimiento de que es una base de datos SQL y Visual Basic, porqué si no, no te vas a enterar de nada.

- - - - - Mensaje combinado - - - - -

Quizás en el adjunto lo verás mas claro.

Se trata de un formulario de actualización de una tabla con conexión a la base de datos por cadena de conexión en lugar de ODBC.

Se incluye la base de datos.

MSACCESS_ADO.zip

publicado

Muchas gracias enigma25, en realidad la dificultad radica en que no se como ajustar mi codigo para que pueda conectarse bien por ADO a un libro aparte de excel o Access, yo entiendo algo de codigo pero no se como direccionar por decir los textbox para que al buscar un elemnto estos aparescan, puesto que como estan en este momento enlazados en hojas de excel del mismo libro. Muchas Gracias Nuevamente por la colaboracion.

- - - - - Mensaje combinado - - - - -

Muchas Gracias Macro Antonio en realidad es muy importante conocer a personas que le colaboren en este tipo de deudas, lo que sucede es que no se como ajustar mi codigo a una conexion ADO puede ser a otro libro de excel, o a una base de datos en access e revisado muchos ejemplos de este foro, pero no encuentro como hacerlo, pues en mi formulario debo hacer una consulta y grabar unos datos, pero en los ejemplos que he visto no veo como hacerlo, en realidad es mas que me hecharan una mano en mirar mi codigo y poder darme una luz explicandome como se puede hacer, tan solo con un ejmeplo yo hago el resto es mas por entender la logica de las funciones buscar, guardar, puesto que lo otro de la conexion y sql yo lo puedo aprender y no es complicado pues son basicas para conectar y cerrar la base de datos. Muchas Gracias pos su colaboracion y aportar su conocimiento al beneficio y aprendizaje de los demas.

publicado

Buenas tardes

Estoy seguro que si verifica los codigos suministrados y los ejemplos del señor Macro Antonio, podrá guiarse mucho mas al respecto. No obstante, si loo que desea es algo mas puntual, por favor denos una breve explicacion y con gusto veremos que se puede hacer.

Mis respetos.

publicado

Muchas Gracias, Enigma25, en realidad revise el codigo, pero trate de ajustarlo, pero no encuentro la forma, empece con el codigo de buscar pero veo la manera de que me traiga los datos de la base de datos de acces. les agradezco si me pueden dar una mano, muchas gracias.

'Modulo de Busqueda

Private Sub Image1_Click()

Dim myrange As Range, i As Long, Celdi As Range, NameCeldi, myrangee, rangee

If Me.TextBox1.Value = "" Then

Me.TextBox1.SetFocus

MsgBox "Para Buscar debe Ingresar NIT ", vbOKOnly + vbInformation, "AVISO"

Exit Sub

End If

Application.ScreenUpdating = False

On Error GoTo ConError

Sheets("METAS").Select -----> esta instruccion esta direccionando a buscar los datos del formulario en esta hoja. como la reemplazo para que me busque en access

Range("J3").Select ----> aca selecciona la columna en donde aparece el NIT

Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, _

LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _

MatchCase:=False, SearchFormat:=False).Activate

i = Sheets("METAS").Range("A" & Rows.Count).End(xlUp).Row

Set myrange = Sheets("METAS").Range("J3:J" & i)

ComboBox1.Clear

Me.Tag = 0

Set Celdi = myrange.Find(What:=TextBox1)

If Not Celdi Is Nothing Then

NameCeldi = Celdi.Address

Do

With ComboBox1

.AddItem Sheets("METAS").Range("C" & Celdi.Row)

.Column(1, .ListCount - 1) = Celdi.Row

End With

Set Celdi = myrange.FindNext(Celdi)

Loop While Not Celdi Is Nothing And Celdi.Address <> NameCeldi

End If

If ComboBox1.ListCount > 0 Then

With ComboBox1

.Visible = True

.ListIndex = 0

End With

With Label26

.Visible = True

.Caption = "Registro 1 de " & ComboBox1.ListCount

End With

With Sheets("METAS")

i = ComboBox1.Column(1, 0)

Label8 = .Range("K" & i) -----------> y en estos campos no se como enlazarlos pues trate no encuentra nada.

Label25 = .Range("E" & i)

Label9 = .Range("C" & i)

Label11 = .Range("U" & i)

Label14 = .Range("P" & i)

Label15 = .Range("AS" & i)

Label17 = .Range("AM" & i)

Label19 = .Range("M" & i)

Label88 = .Range("AZ" & i)

Label21 = Format(.Range("AD" & i), "$##,#0")

Label23 = Format(.Range("Y" & i), "$##,#0")

End With

Else

MsgBox "No existen coincidencias con el dato facilitado", , ""

With TextBox1

.Value = Empty

.SetFocus

End With

End If

Me.Tag = 1

Set myrange = Nothing

Exit Sub

ConError:

MsgBox ("Este Nit no Presenta este tipo de Inconsistencia")

TextBox1 = ""

Me.TextBox1.SetFocus

Me.Tag = 1

Set myrange = Nothing

Exit Sub

End Sub

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.