Llenar campos a una tabla nueva
<span style="font-family: Times New Roman; font-size: small;">Tengo un profgrama que que ingresa datos a una tabla nueva desde un archivo de testo eel problema que tengo es que tiene que ingresar los datos a dos campos primero a Enero y luego a Febrero pero no me sale, ¿me puedes decir en que estoy fallando por favor? Aqui te envio el codigo:</span>
Public Function leerMesA()
Dim Archivo As String
Dim NroArch As Integer 'Numero id del archivo
Dim Cadena As String 'Una línea leída del archivo
Dim strMeses(0 To 4) As String 'Guarda los meses Jan en 0 y Feb en 1
Dim intMeses As Integer 'Indica si es una Jan (0) o Feb (1)
Dim strJan() As String 'Arreglo que contiene a cada Jan en un
'espacio en particular
Dim strFeb() As String 'Arreglo que contiene a cada Feb en
'en un espacio en particular
Dim rs1
Set rs1 = CurrentDb.OpenRecordset("Meses1")
Archivo = ("EEGGA180_01.txt")
'Definir el numero de archivo
NroArch = FreeFile
'Abrir el archivo aleatorio
Open Archivo For Input As #NroArch
'Recorrer el archivo
Do While Not EOF(NroArch)
Line Input #NroArch, Cadena 'Sacar una línea del archivo
'Revisa si la línea tiene el id de Jan
If InStr(LCase(Cadena), "jan") > 0 Then
intMeses = 0
'Revisa si la línea tiene el id de Feb
ElseIf InStr(LCase(Cadena), "feb") > 0 Then
intMeses = 1
End If
'So la cadena no es parte del encabezado
If InStr(LCase(Cadena), "is") = 0 And InStr(LCase(Cadena), "mean") = 0 And InStr(LCase(Cadena), "gga") = 0 And InStr(LCase(Cadena), "tem") = 0 Then
'Agrupa todas las Janes y Febes
strMeses(intMeses) = strMeses(intMeses) + " " + Cadena
End If
Loop
'Separar Feb y Jan en un arreglo
strJan = Split(strMeses(0))
strFeb = Split(strMeses(1))
For i = 0 To UBound(strJan) 'Recorrer cada Jan
If Trim(strJan(i)) <> "" Then
rs1.AddNew' Adicionar nuevo
rs1("Enero") = strJan(i)
End If
Next
For j = 0 To UBound(strFeb) 'Recorrer cada Feb
'Validar que la Jan no sea vacía
If Trim(strFeb(j)) <> "" Then
'rs1("Enero") = strJan(i)
rs1("Febrero") = strFeb(j)
rs1.Update
End If
Next
rs1.Close ' Cerramos las tablas
Set rs1 = Nothing ' Liberamos los objetos
'Cerrar archivo
Close NroArch
MsgBox "Proceso finalizado"
End Function
Public Function leerMesA()
Dim Archivo As String
Dim NroArch As Integer 'Numero id del archivo
Dim Cadena As String 'Una línea leída del archivo
Dim strMeses(0 To 4) As String 'Guarda los meses Jan en 0 y Feb en 1
Dim intMeses As Integer 'Indica si es una Jan (0) o Feb (1)
Dim strJan() As String 'Arreglo que contiene a cada Jan en un
'espacio en particular
Dim strFeb() As String 'Arreglo que contiene a cada Feb en
'en un espacio en particular
Dim rs1
Set rs1 = CurrentDb.OpenRecordset("Meses1")
Archivo = ("EEGGA180_01.txt")
'Definir el numero de archivo
NroArch = FreeFile
'Abrir el archivo aleatorio
Open Archivo For Input As #NroArch
'Recorrer el archivo
Do While Not EOF(NroArch)
Line Input #NroArch, Cadena 'Sacar una línea del archivo
'Revisa si la línea tiene el id de Jan
If InStr(LCase(Cadena), "jan") > 0 Then
intMeses = 0
'Revisa si la línea tiene el id de Feb
ElseIf InStr(LCase(Cadena), "feb") > 0 Then
intMeses = 1
End If
'So la cadena no es parte del encabezado
If InStr(LCase(Cadena), "is") = 0 And InStr(LCase(Cadena), "mean") = 0 And InStr(LCase(Cadena), "gga") = 0 And InStr(LCase(Cadena), "tem") = 0 Then
'Agrupa todas las Janes y Febes
strMeses(intMeses) = strMeses(intMeses) + " " + Cadena
End If
Loop
'Separar Feb y Jan en un arreglo
strJan = Split(strMeses(0))
strFeb = Split(strMeses(1))
For i = 0 To UBound(strJan) 'Recorrer cada Jan
If Trim(strJan(i)) <> "" Then
rs1.AddNew' Adicionar nuevo
rs1("Enero") = strJan(i)
End If
Next
For j = 0 To UBound(strFeb) 'Recorrer cada Feb
'Validar que la Jan no sea vacía
If Trim(strFeb(j)) <> "" Then
'rs1("Enero") = strJan(i)
rs1("Febrero") = strFeb(j)
rs1.Update
End If
Next
rs1.Close ' Cerramos las tablas
Set rs1 = Nothing ' Liberamos los objetos
'Cerrar archivo
Close NroArch
MsgBox "Proceso finalizado"
End Function
1 Respuesta
Respuesta de emperador20
1