PDA

Ver la Versión Completa : Completar datos almacenados en un archivo


MAXIUM
10-01-2018, 21:26:35
Hola que tal,

La situación es la siguiente. Tengo un listado de nombres de personas en una plantilla Excel, y lo que quiero es completar los datos como por ejemplo su número telefónico que se encuentran en una base de datos Firebird. Los nombres son idénticos al campo que los almacena en la base de datos.

¿Como puedo hacer una consulta que permita leer el listado, buscar a la persona, encontrar su número telefónico y devuelva estos datos con el resto de los individuos?

No necesariamente deben estar almacenados en un .xlsx, también pueden ser leídos desde un .txt para realizar la consulta.

De antemano, muchas gracias.

Neftali [Germán.Estévez]
11-01-2018, 08:48:26
¿Como puedo hacer una consulta que permita leer el listado, buscar a la persona, encontrar su número telefónico y devuelva estos datos con el resto de los individuos?


En una cosulta no se puede hacer.
Deberás abrir 2 conexiones, cargar los datos de ambas fuentes e ir realizando la búsqueda de 1 en 1.

cloayza
11-01-2018, 17:37:39
Estimado amigo, veo dos posibles soluciones.

1) Realizar la conexion a la base de datos firebird desde EXCEL, para ello lo puedes lograr con ODBC.

a) En esta situación requieres instalar los drivers ODBC Firebird (https://www.firebirdsql.org/en/odbc-driver/).
b) Crear la conexión en el ODBC para tu base de datos
c) Desde Excel obtener la información de la tabla en particular
d) Realizar la búsqueda de la información utilizando las función BuscarV(...)

2) La otra alternativa sería crear una tabla externa a tu base de datos, aquí tendrias que armar un script como el siguiente.


--Se crea la estructura de la tamba externa
CREATE TABLE LISTA_NOMBRES_EXCEL
EXTERNAL FILE 'C:\Lista_Nombres_Excel.txt' (
id_cliente integer,
nombre_cliente varchar(50),
crlf CHAR(2));
COMMIT;

--Se insertan datos en tabla externa
--este lo puedes crear en EXCEL con la función concatenar(...)
insert into lista_clientes_excel(id_cliente, nombre_cliente) VALUES(1,'MAXIUM');
insert into lista_clientes_excel(id_cliente, nombre_cliente) VALUES(2,'MAXIUM 2');
commit;


Si miras en la base de datos Firebird, debería existir Lista_clientes_excel.

Y de aquí en adelante la tratas como una tabla mas, lo demás es solo realizar las consultas...

Saludos cordiales