Ok. Aca va una parte del codigo conflictivo
Aclaracion: Archivo es una variable de un tipo definido por mi, CantRegistrosDAT tiene la cantidad de registros del archivo .DAT y PBar es la dichosa barra de progreso...
Código:
FileNum = FreeFile
Do While EOF(FileNum) <> True
Get FileNum, , Archivo
If Trim(Archivo.Año) <> "" Then
If Left(Trim(Archivo.Año), 1) = "1" Or Left(Trim(Archivo.Año), 1) = "2" Then
If X > TPARAMETROS.Fields!Registro.Value Then
lblHaciendo.Caption = "Actualizando registros de Evapotranspiración del día " & Archivo.Dia & "/" & Archivo.Mes & "/" & Archivo.Año
Call GrabarEvapo
lblHaciendo.Caption = "Actualizando registros de Heliofanía del día " & Archivo.Dia & "/" & Archivo.Mes & "/" & Archivo.Año
Call GrabarHelio
lblHaciendo.Caption = "Actualizando registros de Humedad del día " & Archivo.Dia & "/" & Archivo.Mes & "/" & Archivo.Año
Call GrabarHumedad
lblHaciendo.Caption = "Actualizando registros de Precipitaciones del día " & Archivo.Dia & "/" & Archivo.Mes & "/" & Archivo.Año
Call GrabarPrec
lblHaciendo.Caption = "Actualizando registros de Temperaturas del día " & Archivo.Dia & "/" & Archivo.Mes & "/" & Archivo.Año
Call GrabarTemp
lblHaciendo.Caption = "Actualizando registros de Vientos del día " & Archivo.Dia & "/" & Archivo.Mes & "/" & Archivo.Año
Call GrabarVientos
Else
lblHaciendo.Caption = "Buscando registros nuevos para actualizar"
End If
X = X + 1
lblPorcentaje.Caption = CInt(X * 100 / CantRegistrosDAT) & "%"
PBar.Value = CByte(X * 100 / CantRegistrosDAT)
Else
Exit Do
End If
End If
Loop
Los Subs Grabar... (GrabarEvapo, GrabarHelio, etc...) llaman a otros procedimientos, en donde se guardan en las respectivas tablas los datos correspondientes, por ejemplo en GrabarVientos:
Código:
Private Sub GrabarVientos()
With TVIENTO
.AddNew
If Trim(Archivo.ObservacionDeLaVeleta8Hs) <> "" Then
.Fields!Veleta8.Value = Archivo.ObservacionDeLaVeleta8Hs
Else
.Fields!Veleta8.Value = Null
End If
If Trim(Archivo.ObservacionDeLaVeleta14Hs) <> "" Then
.Fields!Veleta14.Value = Archivo.ObservacionDeLaVeleta14Hs
Else
.Fields!Veleta14.Value = Null
End If
If Trim(Archivo.ObservacionDeLaVeleta20Hs) <> "" Then
.Fields!Veleta20.Value = Archivo.ObservacionDeLaVeleta20Hs
Else
.Fields!Veleta20.Value = Null
End If
(etc...)
.Update
End With
PD: Perdon por tardar tanto, pasa que mi conexion anda a dos por hora