Error 424 se requiere un objeto

Tengo este código y me da error 424 se requiere un objeto
Private Sub Importar_Click()
DoCmd.TransferSpreadsheet acImport, 8, "hoja1", "F:\MIENTRAS\SISTEMA\BASE.xls", True
End Sub
¿Qué tengo mal?
1

1 respuesta

1
Respuesta de
El docmd, ¿con qué lo estas utilizando? Ya que no entiendo bien que es lo que te pasa en tu aplicación.
Saludos
David Enciso
Hola mira tengo un hoja de calculo excel y esa cambia todos los meses y esta siempre en la misma carpeta y quiero un comando en visual que la importe a access a una base asoc
Sugiero que utilices el objeto createobject con una instancia de access, para que este abierto antes de la ejecución del delete o del docommand, checa la referencia de ayuda del createobject.
http://www.csidata.com/custserv/onlinehelp/VBSdocs/vbs85.htm
Saludos
David Enciso
Solo que sea en el momento de tu apertura de la instancia de access, ya que solamente me comentas la ejecución que realizas pero no la programación en la que tengas la referencia de access.
Saludos
David Enciso
Sería mejor así:
Dim oAccess As object
oAccess = CreateObject("Access.Application")
oAccess.Visible = True
oAccess.OpenCurrentDatabase("F:\MIENTRAS\SISTEMA\exportaciones\asoc.mdb", False)
Saludos
David Enciso
Gracias pero ya resolví ese problema lo que me pasa es que cuando importo a access desde excel tengo que tener la base de datos abierta y hay los importa pero cuando tengo el access cerrado trata de abrirlo pero se me que da pegado
Capas que me falte la ruta de la base pero no se donde colocarla gracias
Saludos
Private Sub Importar_Click()
asoc.Execute ("delete from hoja1")
DoCmd.TransferSpreadsheet acImport, 8, "hoja1", "F:\MIENTRAS\SISTEMA\tabla1.xls", True, "a1:b16000"
End Sub
Ese es el código
La base de datos se llama asoc y se importa en la tabla hoja1
Y la hoja de calculo se llama tabla1
Pero cuando tengo el access abierto donde esta la base de datos asoc me importa los datos pero cuando no tengo el access abierto me sale un error en el método 'TransferSpreadsheet' del objeto 'IDoCmd'
Gracias por tu ayuda
Me puedes completar bien el comentario, no llego bien.
Saludos
David Enciso
aaa ya gracias pero era así
Dim oAccess As Object
oAccess = CreateObject("Access.Application")
oAccess.Visible = True
oAccess.OpenCurrentDatabase ("F:\MIENTRAS\SISTEMA\exportaciones\asoc.mdb")
sin el (, false)
pero me da un error en
oAccess = CreateObject("Access.Application")
me dice variable de tipo object o la variable de bloque with no esta establecida
Gracias
Gracias ya lo vi seria algo así
Dim oAccess As Access.ApplicationClass
oAccess = CreateObject("Access.Application")
oAccess.Visible = True
oAccess.OpenCurrentDatabas("F:\MIENTRAS\SISTEMA\exportaciones\asoc.mdb", False)
Si no es así me puedes ayudar a crear el código
Gracias
Perdón, todo por no fijarme bien:
oAccess = CreateObject("Access.Application")
Es
Set oAccess = CreateObject("Access.Application")
Saludos
David Enciso
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Visual Basic o hacer tu propia pregunta: