Pregunta

Esta es probablemente una pregunta simple, pero realmente no sé qué estoy haciendo en Excel, así que espero que alguien pueda ayudarme.

Me dieron una hoja de cálculo de Excel que tiene dos columnas relevantes para mi tarea. La primera columna es una "Identificación externa", y la segunda columna es una "Identificación interna". Necesito seleccionar un montón de datos de nuestras bases de datos (con varias combinaciones) utilizando la ID interna como clave, pero luego todos estos datos deben vincularse de nuevo a la ID externa, y el único enlace entre Internal / External es esta hoja de cálculo.

Por ejemplo, digamos que una fila de la hoja de cálculo se ve así:

ExtID    IntID
AB1234   2

Necesito seleccionar todos los datos relevantes para el artículo con ID # 2 en nuestra base de datos, pero no tengo forma de obtener " AB1234 " de la base de datos, así que debo relacionar de alguna manera estos datos con " AB1234 " usando la hoja de cálculo.

¿Cuál es la forma más fácil de lograr esto? La versión de Excel es Excel 2007, y la base de datos es Oracle, si es relevante.

Tenga en cuenta que solo tengo permiso de lectura para las bases de datos de producción, por lo que crear tablas e importar los datos de la hoja de cálculo para realizar una unión no es una opción.

¿Fue útil?

Solución

Editado según un comentario

1 - Use MS Access para importar la hoja de Excel como una tabla.

2 - Enlace a su tabla de base de datos, también desde MS Access

Ficha de datos externos - > otras fuentes de datos - > conexión ODBC - > elige la tuya - > elige la tabla (s) que quieras

3 - escribe una consulta de Access para comparar los valores que deseas

Crear- > Diseño de consulta- > Soltar las tablas que desee, arrastre las líneas entre ellas para las relaciones, haga clic en Ejecutar

Otros consejos

Por lo general, uso copiar y pegar y un buen editor de modo de columna con macros para realizar estas tareas. Funciona bien si solo tienes un par de archivos de Excel.

Mucho depende de lo familiar que esté con las herramientas que tiene disponibles.

¿Tiene una herramienta con la que esté familiarizado que facilitaría el uso de IntID para encontrar esos registros? Si es así, ¿puede hacer la consulta y pegar los resultados de nuevo en la hoja de cálculo original en la columna a la derecha de la columna con el IntID?

Si es así, tendrá lo que desea, una hoja de cálculo con las siguientes columnas:   ExtID (original)   IntID (original)   IntID (desde Oracle)   Col1 (desde Oracle)   Col2 (de Oracle) etc ....

No estoy familiarizado con Oracle, pero sé que muchas bases de datos le permiten anteponer un nombre de tabla con # o algo así y crear una tabla temporal. Otros tienen una base de datos temporal donde puedes crear cosas. A veces puede crear una tabla temporal incluso si no puede hacer nada más que seleccionar.

Si tiene acceso para hacer eso, haría la función como sugiere JosephStyons (# 2), insertaría sus registros en la tabla temporal y haría una consulta basada en eso.

Con Excel y VBA, puede usar ActiveX Data Objects (ADO) como una forma de alto nivel de usar el proveedor OLE DB para una base de datos en particular. Esto le permite leer los datos de la base de datos y luego puede consultarlos y almacenar los resultados en la hoja de cálculo.

Proveedor Oracle OLE DB
Guía ADO

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