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)

puzzleman
2007-06-16 12:52 - Respuestas: 16 - Tema nº: 2453151


Tengo hecho el boton con el siguiente codigo en el evento on click

Option Compare Database

Private Sub Comando0_Click()


Dim ruta As String, num As Integer, lee As String, q, l As Integer
Dim campo(100) As String, valor(100), consulta2, consulta1, consulta As String
ruta = "c:\prueba.txt"
num = FreeFile
Open ruta For Input As num
que = 1
While Not EOF(num)
Input #num, lee
If InStr(lee, ":") Then
If que < 12 Then campo(q) = Left$(lee, InStr(lee, ":"))
valor(q) = Right$(lee, Len(lee) - InStr(lee, ":") - 1)
que = que + 1
End If
Wend
Close num
consulta = "CREATE TABLE DATOS ("
consulta1 = "INSERT INTO DATOS("
For l = 1 To que - 1
If l < 12 Then
If InStr(campo(l), ".") = 0 Then
campo(l) = Left$(campo(l), Len(campo(l)) - 1) & ".:"
End If
consulta = consulta & "[" & Left$(campo(l), InStr(campo(l), ".") - 1) & "] TEXT(50),"
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 que - 1
consulta2 = consulta2 & "'" & valor(l) & "',"
If l Mod 11 = 0 Then
CurrentDb.Execute consulta1 & Left$(consulta2, Len(consulta2) - 1) & ")"
consulta2 = ""
End If
Next l

On Error GoTo Err_Comando0_Click


DoCmd.GoToRecord , , acFirst

Exit_Comando0_Click:
Exit Sub

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

End Sub


Pero al ejecutarlo me sale error:

Se ha producido el error '5' en tiempo de ejecucion

Argumento o llamada a procedimiento no valida

y se me marca en el depurardor la linea:

valor(q) = Right$(lee, Len(lee) - InStr(lee, ":") - 1)

Tengo el office 2007 sera por eso?

Gracias de nuevo!
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 12:54 - Respuesta 7

Por cierto una cosilla, los campos diagnostico y otros pueden tener dos lineas con salto de linea en ellos influye en algo?
Gracias
puzzleman

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

Bueno ya he solucionado el problema, era cuestion de que habia unas variables (q y que) que tenian que ser la misma y no lo eran. Ahora me falla porque los campos no pueden estar vacios.


Asi lo tengo ahora:

Private Sub Comando0_Click()


Dim ruta As String, num As Integer, lee As String, que, l As Integer
Dim campo(300) As String, valor(8000), consulta2, consulta1, consulta As String
ruta = "c:\prueba.txt"
num = FreeFile
Open ruta For Input As num
que = 1
While Not EOF(num)
Input #num, lee
If InStr(lee, ":") Then
If que < 8000 Then campo(que) = Left$(lee, InStr(lee, ":"))
valor(que) = Right$(lee, Len(lee) - InStr(lee, ":") - 1)
que = que + 1
End If

Wend
Close num
consulta = "CREATE TABLE DATOS ("
consulta1 = "INSERT INTO DATOS("
For l = 1 To que - 1
If l < 12 Then
If InStr(campo(l), ".") = 0 Then
campo(l) = Left$(campo(l), Len(campo(l)) - 1) & ".:"
End If
consulta = consulta & "[" & Left$(campo(l), InStr(campo(l), ".") - 1) & "] TEXT(50),"
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 que - 1
consulta2 = consulta2 & "'" & valor(l) & "',"
If l Mod 11 = 0 Then
CurrentDb.Execute consulta1 & Left$(consulta2, Len(consulta2) - 1) & ")"
consulta2 = ""
End If
Next l

On Error GoTo Err_Comando0_Click


DoCmd.GoToRecord , , acFirst

Exit_Comando0_Click:
Exit Sub

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

End Sub


Gracias de nuevo!!
puzzleman

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

Esto ya esta casi perfecto muchas gracias! Te comento para que veas lo que me da problemas:

este es un ejemplo de lo que tengo y siento que este en mayusculas ;)

PACIENTE....: D.RAFAEL RUIZ
EDAD........: 34
NºBIOPSIA...: 386
MEDICO......: DR.BRUNO SAEZ
ORGANO......: RECTO
DIAGNOSTICO.: TEJIDO DEGRANULACION Y MUY ESCASOS FRAGMENTOS DE EPITELIO CON D
MOD SE RECOMIENDA NUEVA BIOPSIA
CIA: ASISA
CODIGO: R
FECHA INFORME.: 05/04/11
f.ENTRADA.....: 05/04/05
OTROS.......:



En el campo diagnostico hay dos lineas y la segunda que empieza por MOD SE.... no me la coje.

En el campo OTROS si no pone nada me da error, supongo q habria que comprobar los campos y si es vacio que meta el caracter espacio en blanco no?


He tenido que cambiar lo de TEXT(50) por TEXT(200) porque no me cogia todo el texto, ( El limite cual es 256? y si necesito mas en alguno?

Muchas gracias de verdad que me has ayudao muchisimooo!!
puzzleman

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

Por cierto me falla al sacar el nombre del campo f.ENTRADA y lo saca bien pero al crearlo lo crea como f solo. Has puesto el . como separador no?

A unas malas con un editor de texto cambio f.ENTRADA por f-ENTRADA por ejemplo y ya esta.

Saludos!
Página:Anterior2 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
Configurarequipos19 Mayo 2024