Codigo en VB para importar archivo excel a access

anasfu
17 de Marzo del 2005
EStoy programando una aplicación que ha de leer archivos de excel con extensión .xls, e importarlos a access para aptovechar las ventajas que proporcionan las bases de datos en cuanto al multiple acceso. Agradeceria infinitamente, cualquier tipo de codigo, pues es lo primero q me toca hacer en VB y estoy bastante pegada....

carlosfve
17 de Marzo del 2005
acabo de enviar a tu email un codigo fuente que yo utlicé para el mismo fin :)

saludos desde Colombia

tomas
17 de Marzo del 2005
por favor enviame el codigo fuente te lo agradezco

julio cesar mi?socola
17 de Marzo del 2005
saves soy estudiante de instituto tecnologico en tumbes-peru y mi carrera es de computacion e informatica, llevo recien una semana y lo que nos enseñan es sobre programacion en visual basic, y lo que quisiera es obtener informacion cualiquiera que tenga que ver con visual basic.

te agradeseria mucho que me enviaras informacion de vb sobre todo codificacion.

escribeme a mi correo electronico.

[email protected]

vgt43
17 de Marzo del 2005
Hola!!, ante todo gracias x leer esta nota :-) he visto que has conseguido importar datos de una hoja excel a access desde visual y estoy bastante flojo en visual... si me puedes ayudar te lo agradeceria mucho ^_^ MuCHaS GrACiAs

tsarmien
17 de Marzo del 2005
Yo necesito enviar de un archivo txt a acces, me gustaria saber si tienes el codigo

Eduardo
17 de Marzo del 2005
Por favor me pondrias enviar a mi el codigo para echarle un vistazo

Edgard
17 de Marzo del 2005
Hola. Tengo el mismo problema porfavor ayudame, y necesito hacerlo de Access a Excel.

De antemano muchas gracias.

Hugo Alvarez
17 de Marzo del 2005
Hola, mira, estoy haciendo lo mismo que tú y tengo algunos avances...

Dime, como vas en ese tema. Podríamos ayudarnos mutuamente...

Te adjunto algo de código:
Dim xls As Excel.Application
Screen.MousePointer = 11
i = 1
Set xls = CreateObject("Excel.Application")
xls.Workbooks.Open Archivo_Cartola
xls.Visible = True
For Each works In Worksheets
FConCarImp.ListHojas.AddItem works.Name
Next works

Alb
17 de Marzo del 2005
Yo tambien estoy trabajando en algo parecido.
Tengo una tabla en access con un monton de campos y quiero importar datos de una tabla en excel.

Creo que es mejor tratar al fichero de excel como una base de datos y no abrirlo como aplicacion excel, ya que es mucho mas lento y mas complicado.

Abro dos conexiones al bd excel y access
estraigo en un recordsource todos los datos de excel y les voy introducciendo en la base de datos de Access.

adjunto el codigo por si oos resulta util

Public Sub importardatos()
Dim fichero_importar
Dim i
Dim cna As ADODB.Connection
Dim rsa As ADODB.Recordset
Dim cne As ADODB.Connection
Dim rse As ADODB.Recordset

\'Selecciona el fichero a importar
With Main.CommonDialog1
.InitDir = Directorio
.ShowOpen
End With
If Existe(Main.CommonDialog1.FileName) Then
fichero_importar = Main.CommonDialog1.FileName
Else
MsgBox ("El fichero selecionado no es valido")
Return
End If

\'Abre la base de datos de Access
Set cna = New ADODB.Connection
Set rsa = New ADODB.Recordset
cna.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Main.Fichero_datos & ";Persist Security Info=False"


cna.Open
\'Abre el fichero excel
Set cne = New ADODB.Connection
Set rse = New ADODB.Recordset
cne.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fichero_importar & ";Extended Properties=excel 8.0;Persist Security Info=False"
cne.Open

\' Extrae todos los datos del fichero
Set rse.ActiveConnection = cne
rse.Source = "SELECT * from [hoja1$]"
rse.Open

Do Until rse.EOF
Set rsa.ActiveConnection = cna
rsa.Source = "SELECT * from tblapuntes where fecha=" & rse.Fields("fecha")
rsa.LockType = adLockOptimistic
rsa.Open
\' Si no hay ningun campo de ese dia lo crea
If rsa.EOF Then
rsa.AddNew
For Each i In rse.Fields
On Error Resume Next
rsa.Fields(i.Name) = i
Next i
rsa.Update
rsa.Close
End If
rse.MoveNext
Loop

End Sub

captainflint
17 de Marzo del 2005
Esta página les puedes servir para pasar datos de excel a acces.............
http://espasoft.kaos.es/2000VB/Excel.htm

Y para exportar una tabla de acces y a Excel el código siguiente les puede servir muy bien:

Private Sub cmdExpEmp_Click()
Dim objDb As Object
Set objDb = GetObject(App.Path & "\Encuesta.mdb")
objDb.docmd.TransferSpreadsheet 1, 8, "ConEmpresa", App.Path & "\Reportes\RptxEmpresa.xls", True
\'acExport= 1 , acSpreadsheetTypeExcel97 = 8
objDb.Quit
Set objDb = Nothing

MsgBox "Los datos se han guardado en :" & App.Path & "\Reportes\RptxEmpresa.xls"
End Sub


safuco
17 de Marzo del 2005
Hola, si pudieras enviarme el codigo a mi correo, te lo agradecería mucho.
Rancagua, Chile