Código para pasar datos a tabla de access

Espero me puedan ayudar, me estoy iniciando en este mundo de access y visual Basic y tengo algunos problemillas.
Tengo un archivo *.txt organizado del siguiente modo
xxxxxxxxxxxx 16-Jul-98
yyyyyyy Month is Jan
mmmmmmmmmmmmmmmmmmmmm
    5.27 4.53 9.35 6.35 5.27
    4.52 4.63 4.61 4.63 4.66
    4.65 4.63 4.64 4.66 4.69
    4.70 4.74 4.76 4.78 4.77
    3.35 5.35 4.91
xxxxxxxxxxxx 16-Jul-98
yyyyyyy  Month is  Feb
mmmmmmmmmmmmmmmmmmmmm
    4.57 4.59 4.61 4.62 4.63
    4.63 4.74 4.73 4.73 4.76
    4.75 4.74 4.75 4.76 4.78
    4.80 4.82 4.87 4.88 5.35
    6.35 4.94 7.35 5.00 5.03
Y así sucesivamente hasta llegar al mes de Diciembre, lo que necesito hacer es pasar por medio de programación visual para Access estos datos a una tabla donde se genere los campos para cada mes (Jan, Feb..., Dec) y que toda la información correspondiente a Jan vaya en ese campo, luego la de Feb y así sucesivamente.

1 respuesta

Respuesta
1
No se si la pregunta es como lees los datos del archivo .txt o como despu es de leídos los datos los escribes o grabas en una base de datos access?
Revisa el curso de vb6 del guille: www.elguille.info
La pregunta es como leo los datos del archivo txt y los paso luego a una tabla de access
debe tener como campos, los meses desde (Jan hasta Dec):
Jan     Feb   Mar    Apr            Dec
5.27 4.57
4.53 4.59
9.35 4.61
6.35 4.62
5.27 4.63
4.52 4.63
4.63 4.74
Es decir que toda la matriz que esta en el archivo txt correspondiente a Jan pase en la tabla access al campo Jan, luego la matriz que corresponde a Feb y así sucesivamente hasta diciembre. Trabajo con Access 2000.
Gracias por la ayuda que me puedas dar.
Para leer el archivo Open y paa escribir en al base de datos busca ADO en la página que te coloque arriba
Hola como me dijiste revise la página y el curso pero como te digo para este trabajo no tengo tanta experiencia con la programación por lo que te agradecería mucho si pudieras explicarme la lógica o que usar para poder solucionar mi problema.
Gracias!
c = "miarchivo.txt"
l = FileLen(c)
Open c For Input As #1
Text.Text = Input$(l, #1)
Close
De esa manera lees un archivo de texto
Para grabarlo en una base de datos access utilizas ADO desde VB6
Mira hice este programa para importar los datos del archivo txt a la tabla
Public Sub ImportarDatosTXT(str_NombreTabla As String, str_Ruta As String)
DoCmd.TransferText TransferType:=acImportDelim, _
TableName:=str_NombreTabla, _
FileName:=str_Ruta
End Sub
Private Sub ImportarTXT_Click()
Dim str_Fichero As String
Dim str_Tabla As String
Dim int_Punto As Integer
Dim str_Carpeta As String
Dim str_NombreTabla As String
If Not Left(str_Carpeta, 1) = "\" Then str_Carpeta = str_Carpeta & "\"
str_Fichero = Dir(str_Carpeta & "*.txt")
If Len(str_NombreTabla) > 0 Then str_Tabla = str_NombreTabla
Do While Not Len(str_Fichero) = 0
If Not Len(str_NombreTabla) > 0 Then str_Tabla = Left(str_Fichero, Len(str_Fichero) - 4)
Call ImportarDatosTXT(str_NombreTabla:=str_Tabla, _
str_Ruta:=str_Carpeta & str_Fichero)
str_Fichero = Dir
Loop
End Sub
El problema esta que me pasa todo el archivo en una solo campo, me podrais ayudar que más podría añadir a mi código y donde para que a la hora de importar el archivo txt me cree los campos correspondientes a los meses y añada los valores a los campos correspondientes.
Jan     Feb   Mar    Apr            Dec
5.27 4.57
4.53 4.59
9.35 4.61
6.35 4.62
5.27 4.63
4.52 4.63
4.63 4.74
Gracias!
Hola Experto disculpa la molestia pero por favor podrías ayudarme... necesito terminar esto!
Gracias!
Debes leer el archivo y analizar lo que lees de acuerdo a las posiciones o a lo que necesites, y tomar los datos correctos y grabarlos en donde sea necesario, puedes utilizar la función MID para extraer las cadenas necesarias.
Exato! Tengo que leer el archivo, eso hace el programa que ten dije pero no se como eliminar las lineas y que solo coja la matriz de Jan y la ponga en un campo, luego elimine las siguientes linea y forme el campo para Feb y ponga todos los datos de la matriz en ella. Si me puedes dar un ejemplo.
Muchas gracias!
Supongo que la linea que tiene los datos para cada mes tiene una longitud fija, pareciera que fueran 5 por cada mes y un espacio de separación entre uno y otro.
En el ejemplo que te puse arriba lees todo el archivo, entonces seria algo como :
c = "miarchivo.txt"
total = FileLen(c)
l = 70
Open c For Input As #1
Dim text As String
while Not c.oef
Text = Input$(l, #1)
jan = Mid(Text,1,5)
feb = Mid(Text,7,5)
mar = Mid(Text,12,5)
...
Wend
Close
Eso en jan, feb, mar, etc tendrás los datos de cada mes, para grabar los datos buscas en la página que te dije arriba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas