Access - vincular excel con access.fallos en el codigo.AYUD

 
Vista:

vincular excel con access.fallos en el codigo.AYUD

Publicado por xabi (7 intervenciones) el 03/05/2006 11:06:23
Buenas:
Tengo una aplicacion en access desde la que creo una hoja de excel,me gustaria que a la vez que la crea esta hoja quedara vinculada a una base de datos he probado con lo siguiente:
Public Sub LinkExcelSheetWithDAO
Dim db As Database
Dim td As TableDef

' Abro la base de datos de Access
Set db = OpenDatabase("C:\Mis documentos\Bd1.mdb")

' Creo un objeto TableDef.
Set td = db.CreateTableDef("Tabla de Access vinculada")

' Establezco la información de conexión.
td.Connect = "Excel 8.0;HDR=No;Database=C:\Mis documentos\Libro1.xls"
td.SourceTableName = "WorkSheet1$A1:M50"

' Anexo el objeto TableDef para crear el vínculo
db.TableDefs.Append td

End Sub

este codigo lo meto dentro del sub que me crea el excel:
(sin meter en este ejemplo)

Private Sub CrearArchivo_Click()
Dim Tipo As Variant
If IsNull(NombreTablaOrigen) Or IsNull(NombreArchivoNuevo) Or IsNull(CarpetaDestino) Then
MsgBox "Faltan datos para crear el Archivo." & Chr(10) & "Debe completar los 3 campos.", vbCritical, "Crear Nuevo Archivo"
NombreTablaOrigen.SetFocus
Exit Sub
End If

Tipo = ".xls"
DoCmd.TransferSpreadsheet acExport, 8, NombreTablaOrigen, CarpetaDestino & "\" & NombreArchivoNuevo & Tipo, True, ""

MsgBox "El Archivo " & NombreArchivoNuevo & Tipo & " se ha creado" & Chr(10) & "en la carpeta " & CarpetaDestino & ".", vbInformation, "Crear Nuevo Archivo"

End Sub

Cuando meto el codigo dentro de la accion del boton me da el error " no se ha definido el tipo definido por el usuario "...porque es esto??
alguien puede ayudarme?

MUCHAS GRACIAS DE NUEVO
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:vincular excel con access.fallos en el codigo.A

Publicado por Enrique (1299 intervenciones) el 03/05/2006 14:48:13
Xabi, te falta marcar en la ventana de Referencias la librería de DAO: Microsoft DAO 3.6 Object Library. Como seguramente estarás usando Access 2000 o superior, la librería que entra marcada por defecto en las mdb's nuevas que crees es la de ADO (te falta DAO y de ahí el error : No se ha definido el tipo......... ), en ese caso como después de marcar la que te indico tendrás las dos, le antepones a Database y a TableDef la palabra DAO. para que tu Evento sepa cual de las dos tiene que usar.

Dim db As DAO.Database
Dim td As DAO.TableDef

Ahora ya no debería salir ese error.

Saludos
Enrique
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:vincular excel con access.fallos en el codigo.A

Publicado por xabi (7 intervenciones) el 04/05/2006 11:45:32
perfecto...que es mejor ADO o DAO?tengo entendido que una tecnologia es mas nueva que la otra...deberia de intentar realizar el proyecto en la mas nueva?es mejor?
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:vincular excel con access.fallos en el codigo.A

Publicado por Enrique (1299 intervenciones) el 04/05/2006 18:05:44
Pues ADO es un sistema más moderno que DAO y si trabajaras con aplicaciones de Microsoft Visual Basic 6.0 o NET, te recomendaría sin duda ADO, pero si solo trabajas con Access y Excell, DAO va sobrado y funciona perfectamente, además de ser más fácil de entender. Es lo que yo pienso, pero tu decides.

Enrique
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