Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
InicioForosForo Office

Pasar de txt de IBM Assistant Filing a Access (Solucionado)

ebolo
2007-06-16 15:10 - Respuestas: 16 - Tema nº: 2453151


Hola, ya veo que te lo estás currando .
Bueno, vamos a hacer una cosa, créate la tabla con los campos y me pones de que tipo es cada campo.
Lo que haremos es insertar sólo las líneas con los valores.
El tema de la f., es porque lo que hago es ver dónde está el . para delimitar el nombre del campo, por eso te digo que casi mejor te crees los campos y si quieresponer alguno como fecha pues lo pones, luego ya veremos como lo tratamos.
Para poner un campo con más de 255 caracteres créalo como memo.

... En el campo diagnostico hay dos lineas y la segunda que empieza por MOD SE.... no me la coje.....
¿eso ocurre mucho, puede haber 3 ó 4 líneas ó sólo 2?.

El tema del campo Otros que no tenga valor, lo puedes resolver así:
sustituye lo que tengas por esto
Posibles soluciones:
Pasar de txt de ibm assistant filing a access (solucionado)Pasar de txt de ibm assistant filing a access (solucionado)
Filing assistantFiling assistant
Base de datos ibm filing assistantBase de datos ibm filing assistant
Pasar un informe de access a word o excelPasar un informe de access a word o excel
Pasar datos de una tabla a otra accessPasar datos de una tabla a otra access
puzzleman

Re: Pasar de txt de IBM Assistant Filing a Access (Solucionado) - 2007-06-16 17:38 - Respuesta 12

Hola, lo de los espacios en blanco ya va perfecto. El tipo de datos en principio seria todos texto, puede ser la edad como numero y la fecha como fecha tambien pero tampoco es necesario, aunq mas adelante podria ser util para ordenar por fechas y eso. El campo diagnostico puede tener hasta 2 lineas como maximo y el de otros hasta 3 por lo que no se si llegaran a pasar de 255 caracteres y deberian ser memo.

Lo de f.Entrada no pasa nada porque lo cambio con el editor de texto por otro sin punto y ya esta. Pero he visto que me falla tambien cuando en el texto aparece una coma tambien que me trunca hasta ahi el texto y deja de poner el resto, aunque esto tambien lo puedo cambiar por otro caracter o quitar las comas con el editor de texto reemplazando.

Muchas gracias por todoo!
ebolo

Re: Pasar de txt de IBM Assistant Filing a Access (Solucionado) - 2007-06-16 18:39 - Respuesta 13

ya vamos coniguiendo algo más.
Te dejo como lo dejado al final. Lee las líneas que no tengan ':' y la añade al campo anterior.
He cambiado 'q' por 'n' para que no me lo varie.
El tema de f. lo he arreglado y te crea el campo como f_; No pueden haber signos de puntuación en el nombre de un campo; si pones una coma la sql te la toma como separador, se vuelve loca y te da error.
El problema lo puedes tener en el campo otros si tiene más de 255 caracteres, que es lo que he puesto a todos los campos. Por eso te decía de crearte a mano los campos y luego añadir las líneas.

TE dejo el código


Private Sub Comando0_Click()
On Error GoTo Err_Comando0_Click
Dim ruta As String, num As Integer, lee As String, n, l As Integer
Dim campo(12) As String, valor(8000), consulta2, consulta1, consulta As String
ruta = "C:\prueba.txt"
num = FreeFile
Open ruta For Input As num
n = 1
While Not EOF(num)
Input #num, lee
If InStr(lee, ":") Then
If n < 12 Then campo(n) = Left$(lee, InStr(lee, ":"))
If InStr(lee, ":") = Len(lee) Then
valor(n) = ""
Else
valor(n) = Right$(lee, Len(lee) - InStr(lee, ":") - 1)
End If
n = n + 1
Else
n = n - 1
valor(n) = valor(n) & " " & lee
n = n + 1
End If
Wend
Close num

consulta = "CREATE TABLE DATOS ("
consulta1 = "INSERT INTO DATOS("
For l = 1 To n - 1
If l < 12 Then
If InStr(campo(l), ".") = 0 Then
campo(l) = Left$(campo(l), Len(campo(l)) - 1) & ".:"
End If
If InStr(Left$(campo(l), InStr(3, campo(l), ".") - 1), ".") Then
Mid$(campo(l), InStr(campo(l), "."), 1) = "_"
End If
consulta = consulta & "[" & Left$(campo(l), InStr(campo(l), ".") - 1) & "] TEXT(255),"
consulta1 = consulta1 & "[" & Left$(campo(l), InStr(campo(l), ".") - 1) & "],"
End If
Next l
consulta = Left$(consulta, Len(consulta) - 1) & ")"
CurrentDb.Execute consulta

consulta1 = Left$(consulta1, Len(consulta1) - 1) & ") VALUES("
For l = 1 To n - 1
consulta2 = consulta2 & "'" & valor(l) & "',"
If l Mod 11 = 0 Then
CurrentDb.Execute consulta1 & Left$(consulta2, Len(consulta2) - 1) & ")"
consulta2 = ""
End If
Next l



Exit_Comando0_Click:
Exit Sub

Err_Comando0_Click:
MsgBox Err.Des-c-r-i-p-tion
Resume Exit_Comando0_Click

End Sub



Te he modificado algunas cosas que habías puesto porque no estaban bien.

SAludos.


ebolo

Re: Pasar de txt de IBM Assistant Filing a Access (Solucionado) - 2007-06-16 18:42 - Respuesta 14

he cambiado la 'q' por la 'n' y ahora en varios sitios me pone no en vez de 'n'.
Alucino.
puzzleman

Re: Pasar de txt de IBM Assistant Filing a Access (Solucionado) - 2007-06-16 18:59 - Respuesta 15

Eres una maquina! Ya me va perfecto, algun problemilla xq hay algun signo de : en alguna linea extra de OTROS: y se cree q es un campo, pero son pocos casos y lo puedo modificar a mano.

Muchas gracias.

[Mensaje editado por ebolo con fecha: 20-06-2007 17:07:05].
Página:Anterior3 Siguiente

Respuestas relacionadas:

Pasar datos de tabla access a otraPasar datos de tabla access a otraForo
Pasar tablas,formularios de access a visual basic (solucionado)Pasar tablas,formularios de access a visual basic (solucionado)Foro
Vodafone pc assistantVodafone pc assistantForo
Mi hp wireless assistantMi hp wireless assistantForo
180 search assistant180 search assistantForo
180 search assistant alert180 search assistant alertForo
Yahoo toolbar assistantYahoo toolbar assistantForo
Instalar hp     wireless assistantInstalar hp wireless assistantForo
Hp.wireless assistant desconectadoHp.wireless assistant desconectadoForo
Problema con wireless assistantProblema con wireless assistantForo
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos17 Noviembre 2024