Acceder a bd desde excell

22/02/2007 - 13:45 por Sergio | Informe spam
Quisiera saber si hay alguna forma de acceder a una bd desde excell,

Ejemplo desde un cuadro al pulsar el nº de cliente aparezcan sus datos en
los otros campos correspondientes dependiendo del nº de cliente

Gracias

Preguntas similare

Leer las respuestas

#1 Juan M
22/02/2007 - 15:58 | Informe spam
"Sergio" escribió en el mensaje

Quisiera saber si hay alguna forma de acceder a una bd desde excell,

Ejemplo desde un cuadro al pulsar el nº de cliente aparezcan sus datos en
los otros campos correspondientes dependiendo del nº de cliente

Gracias



Hola Sergio

Puedes empezar con estos enlaces.
http://www.rondebruin.nl/accessexcel.htm
http://www.erlandsendata.no/english...t=envbadac

Si necesitas algo mas preciso sería conveniente alguna que otra
aclaración...

Un saludo
Juan
Respuesta Responder a este mensaje
#2 Sergio
22/02/2007 - 20:19 | Informe spam
Te explico:

Lo que tengo es en excel una plantilla para meter datos para un albaran, y
para evitar problemas de numero de usuario (un cliente tiene mas de un
albaran), el numero de usuario tiene una celda, y lo que quiro hace es que
despues de meter el numero de usuario en dicha celda, comprueba en una bd si
ese numusuario existe si existe que introduzca los datos correspondientes a
nombre,... en otra celda destinado a hecho

"Juan M" escribió en el mensaje
news:
"Sergio" escribió en el mensaje

Quisiera saber si hay alguna forma de acceder a una bd desde excell,

Ejemplo desde un cuadro al pulsar el nº de cliente aparezcan sus datos en
los otros campos correspondientes dependiendo del nº de cliente

Gracias



Hola Sergio

Puedes empezar con estos enlaces.
http://www.rondebruin.nl/accessexcel.htm
http://www.erlandsendata.no/english...t=envbadac

Si necesitas algo mas preciso sería conveniente alguna que otra
aclaración...

Un saludo
Juan


Respuesta Responder a este mensaje
#3 Josep Pons
22/02/2007 - 20:33 | Informe spam
Sergio:
No se que quieres hacer exactamente, si eres mas preciso te diré si puedo
ayudarte mas.
Como idea….
Una forma fácil de importar datos a Excel desde una BD es desde el menú
Datos/Obtener datos externos/importar datos.
Esto es posible si dispones del ODBC necesaria y tienes permisos de acceso a
la BD.
Si llegas a este punto podrás crear una consulta para importar los datos, si
utilizas [num_cliente] (campo de petición de datos) este lo puedes
direccional a una celda de Excel.
Si necesitas más información puedes pedírmela por mail.
Un saludo.
Josep Pons

"Sergio" wrote:

Quisiera saber si hay alguna forma de acceder a una bd desde excell,

Ejemplo desde un cuadro al pulsar el nº de cliente aparezcan sus datos en
los otros campos correspondientes dependiendo del nº de cliente

Gracias



Respuesta Responder a este mensaje
#4 Juan M
24/02/2007 - 11:39 | Informe spam
Hola Sergio

Te paso un ejemplo.

Los dos archivos que creamos deben estar el la misma carpeta, sino el
programa fallará.

Lo primero que debes hacer es crear una base de datos, en este caso yo la he
creado en Access y le he llamado Clientes.mdb
En esta Base de datos crea una tabla que llamamos NumClente y agrega los
siguientes campos
idCliente --> Autonumerico
Nombre
Apellidos
CIF
Domicilio
CPostal
Localidad
Provincia
Telefono
Fax

en un principio da igual como sean los campos excepto el idCliente que, por
la búsqueda que vamos a realizar debe ser numérico y único.
Rellena con algún dato esta base de datos.

Y ahora nos vamos a Excel.

En la celdas siguientes escribe
[A4]=Número Cliente
[A6]=Nombre
[A7]=Apellidos
[A8]=CIF/NIF
[A9]=Domicilio
[A10]=Código Postal
[A11]=Localidad
[A12]=Provincia
[A13]=Teléfono
[A14]=Fax

Ahora pulsa Alt+F11 (iras al editor de Visual Basic)

Selecciona en el menú Herramientas>Referencias te aparecerá un cuadro de
dialogo en el que debes seleccionar una que se llama Microsoft ActiveX Data
Objects X.X Library (yo tengo la 2.8)

Crea un modulo nuevo. Menú Insertar>Modulo

Añade el código que hay al final del mensaje (ten cuidado con los saltos de
línea)

Vuelve a la hoja de Excel donde has escrito todos los campos.

En B4 pon un numero de cliente y ejecuta la macro creada (Alt+F8 para que
aparezca el cuadro de diálogo).

Si tienes alguna duda...

Un saludo
Juan

Inicio código

Sub CargaDatos()
Dim oCnn As ADODB.Connection
Dim oRst As ADODB.Recordset

Dim strSQL As String
Dim strCnn As String

strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;"
strCnn = strCnn & "Data Source=" & ThisWorkbook.Path & "\Clientes.mdb;"

strSQL = "SELECT * FROM NumCliente WHERE idCliente = " & Range("B4")

On Error GoTo AlgoFalla
'Abre la conexion
Set oCnn = New ADODB.Connection
oCnn.Open strCnn

Set oRst = New ADODB.Recordset

oRst.Open strSQL, oCnn, adOpenForwardOnly, adLockOptimistic, adCmdText

If Not oRst.EOF Then
With oRst
Range("B6") = .Fields(1)
Range("B7") = .Fields(2)
Range("B8") = .Fields(3)
Range("B9") = .Fields(4)
Range("B10") = .Fields(5)
Range("B11") = .Fields(6)
Range("B12") = .Fields(7)
Range("B13") = .Fields(8)
Range("B14") = .Fields(9)
End With
Else
MsgBox "No Hay Clientes con ese numero", vbExclamation, "Clientes"
End If

oRst.Close
oCnn.Close
Set oRst = Nothing
Set oCnn = Nothing

Exit Sub
AlgoFalla:
MsgBox "Algo ha fallado" & vbCrLf & Err.Description, vbCritical,
"Clientes"

End Sub
Fin Codigo

"Sergio" escribió en el mensaje
news:
Te explico:

Lo que tengo es en excel una plantilla para meter datos para un albaran, y
para evitar problemas de numero de usuario (un cliente tiene mas de un
albaran), el numero de usuario tiene una celda, y lo que quiro hace es que
despues de meter el numero de usuario en dicha celda, comprueba en una bd
si ese numusuario existe si existe que introduzca los datos
correspondientes a nombre,... en otra celda destinado a hecho

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida