** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - tabla de excel a access, sin access instalado
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradotabla de excel a access, sin access instalado

 Responder Responder
Autor
Mensaje
Sebastianprb Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 08/Marzo/2013
Localización: Chile
Estado: Sin conexión
Puntos: 24
Enlace directo a este mensaje Tema: tabla de excel a access, sin access instalado
    Enviado: 16/Agosto/2013 a las 21:27
Estimados,
 
Quiero crear una tabla en Access a partir de una tabla en Excel y no lo he logrado. la idea es que me reconozca los campos automáticamente.
 
He logrado lo siguiente: (Crea una base Access con una tabla)
 
Private Sub Crear_BD()
On Error Resume Next
Dim bd As Database
Dim td As TableDef
Dim fldID As Field
ruta = ThisWorkbook.Path & "\BD"
Set bd = CreateDatabase(ruta & "\BD.mdb", dbLangGeneral)
Set td = bd.CreateTableDef("Mi_Tabla")
Set fldID = td.CreateField("ID", dbLong, 6)
td.Fields.Append fldID
bd.TableDefs.Append td
End Sub
 
Como le hago para que me reconozca los datos de mi tabla en Excel y me los cree en Access?
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Alcalá Meco
Estado: Sin conexión
Puntos: 3618
Enlace directo a este mensaje Enviado: 16/Agosto/2013 a las 21:37
A lo mejor es más fácil hacerlo al revés, es decir, importarlo desde Access.
Para eso en Access (2007, que es el que yo se), hay una pestaña que dice "Datos Externos". Ahí en "Importar" buscas "Excel" y de ahí te lleva a buscar el archivo para importarlo como tabla.

¿Te es válido o tiene que ser desde Excel necesariamente?

Luis

EDITO:

http://office.microsoft.com/es-es/training/importar-datos-desde-excel-a-una-nueva-tabla-de-access-RZ010272247.aspx

Esto te sería muy útil si quieres hacerlo sin VBA.

Editado por lbauluz - 16/Agosto/2013 a las 21:42
El Búho es un pajarraco
Arriba
Sebastianprb Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 08/Marzo/2013
Localización: Chile
Estado: Sin conexión
Puntos: 24
Enlace directo a este mensaje Enviado: 16/Agosto/2013 a las 21:43
Gracias Luis,
 
Sí manejo medianamente Access y es super fácil importar los datos, el problema es que trabajo en algunos pc que no tienen instalado Access, entonces estoy buscando esta opción de crear la base acces y la tabla desde vba Excel.
 
 
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3383
Enlace directo a este mensaje Enviado: 17/Agosto/2013 a las 10:04
Hola.
En este hilo:
http://mvp-access.com/foro/borrar-datos-de-tabla-desde-excel_topic70675_post421689.html?KW=#421689
se trata un tema 'parecido' .
Espero que aporte alguna idea de como solucionar el problema.
Ya dices.
Un saludo a todos

Arriba
Sebastianprb Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 08/Marzo/2013
Localización: Chile
Estado: Sin conexión
Puntos: 24
Enlace directo a este mensaje Enviado: 19/Agosto/2013 a las 16:07
Gracias prga,
 
En relación al enlace dado:
He modificado el código para crear una tabla,
 
Public Sub Cretabla()
Dim miconexcade As String
Dim miconex As Object
Dim miCrea As Object
Dim crea As String
Set miconex = CreateObject("adodb.connection")
Set miCrea = CreateObject("adodb.command")
If Val(Application.Version) < 12 Then
 miconexcade = "Provider=Microsoft.jet.oledb.4.0;Data source="
  Else
  miconexcade = "Provider=Microsoft.ACE.OLEDB.12.0;Data source="
End If
miconexcade = miconexcade & ThisWorkbook.Path & "\BD\BD.mdb;"
miconex.ConnectionString = miconexcade
miconex.Open
With miCrea
     .ActiveConnection = miconex
     .CommandText = "CREATE TABLE dos (NOMBRE char(50))"
     .CommandType = 1
     .Execute
End With
miconex.Close
Set miconex = Nothing
End Sub
 
Aún no lo logro pero estoy cerca:
 
Idea 1: concatenar los campos y tipos de campo en una celda, para hacer referencia a ésta desde el .CommandText
 
Idea 2: Buscar alguna manera iterativa para agregar campos y tipo de campo.
 
 
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3383
Enlace directo a este mensaje Enviado: 19/Agosto/2013 a las 16:36
Hola.
Se pueden pasar datos desde excel a access mediante la conexión y un recordset ado.
Para ello hay que abrir dicho recordset y mediante un bucle insertar los datos de excell a este recordset.
Espero que ayude.
Ya comentas. 
Un saludo a todos
Arriba
Sebastianprb Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 08/Marzo/2013
Localización: Chile
Estado: Sin conexión
Puntos: 24
Enlace directo a este mensaje Enviado: 19/Agosto/2013 a las 19:35
Aún no lo he concretado, pero ya tengo toda la información necesaria (eso espero).
 
Escenario, No siempre se cuenta con Access (instalado) y dado los volúmenes de información en Excel es una buena alternativa crear una base de datos Access con la tabla que tenemos en Excel (todo desde Excel)
 
El gran problema es con la estructura de la tabla a crear:
Les dejo mi resumen por si les sirve.
 
Todo desde Excel:
 
Creo Carpeta
Creo Base de Datos dentro de la carpeta creada.
Creo tabla con solo un campo (debe tener uno como mínimo)
Adiciono Campos de acuerdo a la información en Excel
Eliminamos campo inicial
Mandamos la información
Listo > Consultas > modificaciones >Formularios etc.
 
la parte de adicionar campos lo pretendo realizar así:
 
Private Sub Agregar2()
Dim bd As Database
Dim Campo As String
Dim TipoCampo As String
Dim nCaracter As String
Campo = [d10]
TipoCampo = [e10]
nCaracter = [f10]
ruta = ThisWorkbook.Path & "\BD\BD.mdb"
Set bd = dao.OpenDatabase(ruta)
bd.Execute ("ALTER TABLE Mi_Tabla ADD COLUMN " & Campo & " " & TipoCampo & " (" & nCaracter & ")")
bd.Close
End Sub
 
Muchas Gracias Ibauluz y prga, espero terminarla pronto.
Favor cerrar tema.


Editado por Sebastianprb - 19/Agosto/2013 a las 19:39
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable