Pregunta

¿Hay alguna forma de cambiar el tipo de datos predeterminado al importar un archivo de Excel a Access?(Por cierto, estoy usando Access 2003).

Sé que a veces tengo la libertad de asignar cualquier tipo de datos a cada columna que se importa, pero eso solo puede ser cuando importo archivos que no son de Excel.

EDITAR: Para ser claros, entiendo que hay un paso en el proceso de importación en el que se le permite cambiar el tipo de datos de la columna importada.

De hecho, eso es lo que pregunto.Por alguna razón, tal vez siempre sean archivos de Excel, tal vez haya algo más, a veces no se me permite cambiar el tipo de datos:el cuadro desplegable está atenuado y solo tengo que vivir con cualquier tipo de datos que Access suponga que es correcto.

Por ejemplo, intenté importar un archivo de Excel de gran tamaño (Más de 12000 filas, ~200 columnas) en Access donde la columna #105 (o algo similar) se llenó principalmente con números (códigos: 1=foo, 2=bar, etc), aunque también hay un puñado de códigos alfa (A=boo, B=far, etc).Access asumió que era un Number tipo de datos (incluso después de cambiar el Format valor en el archivo de Excel) y por eso me dio errores en esos códigos alfa.Si me hubieran permitido cambiar el tipo de datos al importar, me habría ahorrado algunos problemas.

¿Estoy pidiendo algo que Access simplemente no hace o me falta algo?Gracias.

EDITAR: Hay dos respuestas a continuación que brindan consejos útiles.Guardar el archivo de Excel como CSV y luego importarlo funciona bien y es sencillo como Chris OC dice.El consejo para guardar una especificación de importación también es muy útil.Sin embargo, elegí la respuesta de configuración del registro por NS como "Respuesta aceptada".Me gustó como respuesta porque es una paso de una sola vez que se puede utilizar para resolver mi problema principal (que Access asigne incorrectamente un tipo de datos).En resumen, esta solución no me permite cambiar el tipo de datos yo mismo, pero hace que Access adivine con precisión el tipo de datos para que haya menos problemas.

¿Fue útil?

Solución

Este puede debe ser causado por la configuración predeterminada del controlador Excel Jet.Consulte la siguiente clave de registro y cambie su valor de 8 predeterminado a 0, lo que significa "adivina el tipo de datos de la columna en función de todos los valores, no solo de las primeras 8 filas".

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]
"TypeGuessRows"=dword:00000000

Por favor, dime si esto funciona.

Otros consejos

Hay un par de formas de hacer esto.La forma más sencilla es convertir el archivo .xls a un archivo .csv en Excel, para que pueda importarlo a Access utilizando el Asistente para importar texto, que le permite elegir los tipos de datos de cada columna durante la importación.

El otro beneficio de hacer esto es que la importación de un archivo csv (o texto) es entonces mucho más rápido que la importación de un archivo xls.Si va a realizar esta importación más de una vez, guarde la configuración de importación como una especificación de importación.(Cuando esté en el Asistente para importar texto, haga clic en el botón "Avanzado..." en la parte inferior izquierda, luego haga clic en "Guardar como" y proporcione un nombre de especificación para guardar los cambios que acaba de realizar).

Access puede hacer lo que necesita, pero no existe una forma sencilla de hacerlo.Tendría que administrar algunos conjuntos de registros, uno de los cuales sería su información de Excel y el otro su tabla final de Access.Una vez que ambos conjuntos de registros estén abiertos, puede transferir datos de un conjunto de registros a otro examinando sus datos de Excel y agregándolos a su tabla de Access.En esta etapa, será posible cambiar el tipo de datos según lo solicitado.

Al importar desde archivos CSV, también puede echar un vistazo a esquema.ini Descubrirá que con esto puede controlar todos los aspectos del proceso de importación.

Access le permitirá especificar el tipo de datos en el proceso de importación.el problema está en el proceso "Agregar" las siguientes veces, no preguntará sobre la importación al tipo de datos y olvidará que lo cambió.Creo que es un error en MS Access.

El acceso hará esto.

En tu proceso de importación puedes definir cuál es el tipo de datos de cada columna.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top