FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Importar un txt
Buenas de nuevo a todos.
Voy a proponer un problema de parvulitos pero me lleva de cabeza. En una aplicación genero un fichero txt sin ningun problema, este fichero lo quiero utilizar para crear una tabla nueva juntando dos ficheros iguales, pero con datos diferentes (txt en cuestión) creados con dos máquinas distintas. Necesita saber como lo hago para importar este fichero desde delphi y como lo hago para poner un campo ID que sea el ultimo más 1. El fichero txt ya tiene un ID que no me sirve ya que tendría dos veces el ID 1, dos veces el ID 2 etc. Gracias Josep |
#2
|
||||
|
||||
Importar ...
Cualquier duda, consulta, y entramos en detalles Última edición por juanlaplata fecha: 21-12-2009 a las 19:02:30. |
#3
|
||||
|
||||
Perdonad, se me ha ido la pinza con la base, uso Firebird 1.5 con Delphi 6
Voy a probar la respuesta. Gracias Josep |
#4
|
||||
|
||||
Buena a todos, ya he conseguido hacer lo que queria, pongo el codigo a continuación.
Solo tengo una duda, como controlo si los registros ya existen antes de insertarlos a la tabla?. Ahora no me controla nada y se me duplican los datos, lo cual no me interesa. De nuevo gracias a todos. Josep |
#5
|
||||
|
||||
Hola
Veo que tienes un campo ID, esto por lo general es único, no se repite. Yo lo que hago es hacer una consulta previa a este campo y lo comparo con el que se incluirá, si son iguales entonces no se grabara el registro. Saludos
__________________
Siempre Novato |
#6
|
||||
|
||||
Gracias Caral, yo pensaba algo así pero no se como codificarlo o mejor dicho donde ejecuta esta consulta.
Josep |
#7
|
||||
|
||||
Hola
Lo que haces es una inserción con un botón, en ese mismo momento se hace la comparación: Coloca un query nuevo en el form, lo enlazas a la tabla. Supongo que tendras un edit o dbedit donde escribes el ID, entonces lo haces asi: Si el ID ya existe no guardara nada y dara el foco al edit, de lo contrario lo grabara. Saludos
__________________
Siempre Novato |
#8
|
||||
|
||||
Gracias de nuevo por tus consejos Caral.
Te cuento, en mi form solo tengo un boton para ejecutar la importacion y uno para salir, un opem dialog y una consulta para pasar un campo a un valor una vez finalizada la importacion, en este form yo no veo nada de informaciónni edit ni nada de nada y no puedo usar el ID porque este campo se genera automaticamente ya que el arvchivo de importacion, el txt, puede proceder de dos maquinas distintas con lo cual este ID se repite y yo lo que hago es crear uno nuevo para cada linea. Yo pensaba en la utilizacion de algun tpo de array con los campos ID_CURSA, ID_ARBITRE ya que esta combinacion si que es irrepetible en los ficheros que yo genere, aunque si se puede repetir en el fichero que me envie mi compañero para hacer el total. Otro posibilidad seria usar tres campos, ID_CURSA, ID_ARBITE, DATA ya que un mismo comisario no puede estar en dos carreras el mismo día, no se estoy un poco perdido. Saludos Josep |
#9
|
||||
|
||||
Hola
No entiendo en realidad cual es la función del archivo de texto que te envían, para que?, que contiene?. Entiendo que usas Firebird como BD, también creo entender que generas un ID nuevo cada vez que introduces los datos que recibes de los archivos txt. La verdad no entiendo: 1- por que del uso de los TXT. 2- por que no usar directamente la BD. 3- cual es el problema de crear un nuevo ID o numero irrepetible en la BD. 4- cual es el problema de capturar el numero del archivo txt y sumarle 1 o añadirle algo mas. Creo que estoy algo perdido con lo que te sucede, no logro entender cual es el problema. Saludos
__________________
Siempre Novato |
#10
|
||||
|
||||
Voy a ver si pongo un poco de luz al asunto.
El tema es que trabajamos con dos ordenadores distantes entre si, sin conexion fisica y la unica manera que se me ocurre de unir la informacin de dos tablas, una de cada ordenador es con un fichero txt. Os adjunto un ejemplo de los ficheros que genero y el resultado que tendría que obtener. El resutado es un txt de la tabla, este txt no lo necesito, es solo ejemplo. A ver si así se ve claro. Josep Archivo Adjunto 1582 Archivo Adjunto 1583 Archivo Adjunto 1584 Última edición por jafera fecha: 25-02-2010 a las 11:50:10. |
#11
|
||||
|
||||
Hola
Me imagino que el archivo TXT lo envían de ordenador a ordenador via Email ??. Si es ese el caso quiere decir que aun que no estén en red o en la misma ubicación los dos ordenadores tienen acceso a internet. Si tienen acceso a internet te aconsejaría que olvides el asunto de los archivos txt y conectes el programa a la bd directamente, como dije, vía internet. Firebird se conecta fácilmente vía internet es muy fiable y fácil de configurar. En el foro hay mucha información de como hacerlo, veras que te quitas muchos dolores de cabeza y trabajo de encima ya que no se tendrá que estar dijitando la información que recibes, quedara grabada directamente. De todos modos, si insistieras en seguir con los archivos txt te aconsejo que no se generen de la forma que lo haces, me parece que deberían de configurarse como un archivo INI y que el programa capture la información sin hacer nada. Una vez capturada la información me parece que lo lógico seria crear un campo adicional en la tabla para que este sea el irrepetible. Espero ayudarte un poco aunque no esperes mucho de este novato. Saludos
__________________
Siempre Novato |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
importar excel | DavidSG4 | Tablas planas | 2 | 06-03-2008 18:52:57 |
Importar una dll | vasgab | API de Windows | 0 | 21-07-2006 23:44:09 |
Importar OCX en delphi | JuanPa1 | Varios | 5 | 15-06-2006 13:18:37 |
Importar DBF a Gdb | vtdeleon | Firebird e Interbase | 4 | 14-05-2005 18:16:40 |
importar de excel | joanajj | Servers | 3 | 04-08-2004 12:35:02 |
|