Visual Basic - Tabulaciones

Life is soft - evento anual de software empresarial
 
Vista:

Tabulaciones

Publicado por Carlos Alvarez (14 intervenciones) el 30/04/2001 19:19:09
Como puedo leer un fichero separados los campos por tabulaciones y despues meterlo esos campos en una base de datos.

gracias,
Carlos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tabulaciones

Publicado por edu (423 intervenciones) el 30/04/2001 20:07:10
Chequea cuantos espacios en blancos hay en cada tabulacion. Usas las funciones de cadena para manipularlo. Te recomiendo Instr. Ahora si los espacios varian entonces si ya te iras por otros metodos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabulaciones

Publicado por Christian A. Valeria Celedón (207 intervenciones) el 01/05/2001 10:27:31
Para escribir campos separados por tabulaciones puedes usar esto:
Sub PutToFile()
Dim Val01 As String
Dim Val02 As Integer
Dim Val03 As Date
Val01 = "String"
Val02 = 9999
Val03 = Now
Open "C:\Database.txt" For Output As #1
Print #1, Val01 & vbTab & Val02 & vbTab & Val03
Close #1
End Sub

Para leer el archivo usa esto:
Sub GetFromFile()
Dim Val01 As String
Dim Val02 As Integer
Dim Val03 As Date
Dim vRec As Variant
Dim sRec As String

Open "C:\Database.txt" For Input As #1
Line Input #1, sRec
Close #1
vRec = Split(sRec, vbTab)
Val01 = vRec(0)
Val02 = vRec(1)
Val03 = vRec(2)
MsgBox Val01 & vbCrLf & Val02 & vbCrLf & Val03
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tabulaciones II

Publicado por Christian A. Valeria Celedón (207 intervenciones) el 01/05/2001 10:31:28
La función Split descompone un String delimitado por un cierto carácter en una matriz. Esta función se encuentra implementada en VB6. Si dispones de una versión anterior usa esta simulación:
Function Split(sVal As String, KeySep As String) As Variant
Dim vAux As Variant
Dim Pos As Integer
Dim I As Integer
ReDim vAux(0)
vAux(0) = sVal
Pos = InStr(sVal, KeySep)
Do While Pos
I = UBound(vAux)
ReDim Preserve vAux(1 + I)
vAux(I + 1) = Right(vAux(I), Len(vAux(I)) - Pos)
vAux(I) = Left(vAux(I), Pos - 1)
Pos = InStr(vAux(I + 1), KeySep)
Loop
Split = vAux
End Function

En todo caso, ten presente que esta es solo una simulación y seguramente debe tener algunos ripios, pero al menos te da la pauta para implementar tu rutina.

Espero que te resulte...
PD. Yo supuse un registro de solo 3 campos (Val01, Val02, Val03). Seguramente tus registros tienen más campos, por lo que tendrás que adaptar el código para que te funcione correctamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias por la ayuda

Publicado por Carlos Alvarez (14 intervenciones) el 01/05/2001 12:53:09
Gracias por la ayuda a todos,

un saludo,
Carlos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar