Access - Pasando datos de Excel a Access

 
Vista:

Pasando datos de Excel a Access

Publicado por david (2 intervenciones) el 25/01/2004 19:47:43
Hola,

estoy creando una macro de Excel que me pasa datos a una base Access. Todo funciona bien utilizando:

rst("<nombre registro>") =

el problema lo tengo con un registro que es un Objeto Ole, al cual le asigno la ruta:

rst("Documento") = "C:\factura.xls"

y lo acepta sin problemas. Lo malo es que cuando abro la Tabla en el Access de entrada en el registro me pone "DATOS BINARIOS LARGOS" y cuando hago dobleclick para abrir el archivo vinculado, éste no se me abre y me da un error "Ocurrió un error mientras MS Access se comicaba con el Servidor OLE". Sin embargo si creo los vinculos desde el propio Access a mano, no hay ningún problema.

Estoy ya un poco desesperado y agradecería la ayuda de alguien.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pasando datos de Excel a Access

Publicado por Jesus (861 intervenciones) el 26/01/2004 20:00:39
Para evitar esta situación, existe un función del control OLE llamada CreateEmbed. Tiene como primer parámetro el nombre del fichero con el objeto OLE que queremos insertar, y como segundo parámetro el nombre de la clase del objeto. Si ignoramos el primer parámetro de la función, Visual Basic automáticamente muestra el interfaz necesario para editar el nuevo objeto, sin necesidad de especificar que objeto queremos insertar.
En el siguiente ejemplo, se supone que tenemos un control de datos asociado a un control OLE, y que sólo queremos añadir registros con objetos de tipo PaintBrush. El código para añadir un nuevo registro sería el siguiente:

1
2
3
4
Private Sub Command1_Click()
      Data1.Recordset.AddNew
      OLE1.CreateEmbed "", "PBrush"
End Sub
Si se prueba el ejemplo se podrá ver que ya no aparece la caja de diálogo de "Insertar Objeto".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pasando datos de Excel a Access

Publicado por David (2 intervenciones) el 26/01/2004 23:59:18
Hola, es que creo que ese codigo no lo admite el Excel. Yo lo que hacía ahora es esto:

Dim Objeto As Object
Dim DB As Database
Dim rst As Recordset

Set DB = DBEngine.OpenDatabase("C:\facturas.mdb")
Set rst = DB.OpenRecordset("Facturas")
Set rst = DB.OpenRecordset("SELECT * FROM Facturas ORDER BY Factura")

rst.AddNew

rst("Cliente") = "kk"
rst("Factura") = "f00025"

ruta = "c:\factura.xls"
rst("Documento") = Objeto

rst.Update

DB.Close

xlApp.Quit

Set xlApp = Nothing

Donde "Documento" es el registro de la base de datos que tiene el tipo OLE y donde quiero vincular la hoja de excel "C:\factural.xls".

Dime qué codigo hay que poner para que funcione, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar