请帮助优化以下程序,以加快读取数据时间,谢谢!!!!
Dim aa() As Record
Dim bb As Record2
Dim recordReal As Record
Dim MeRecord As Record
Dim MeRecord1 As Record1
Dim RecordLen As Long
Dim RecordLen1 As Long
Dim MaxRecords As Long
Dim MAXDATE As Long
Dim i, w, j, MM, pp1, pp2 As Integer
pp1 = 0
On Error Resume Next
MM = 0
Open App.Path & "\1.dat" For Binary Access Read Write As #1
With MSFlexGrid1
.Rows = 1
.Cols = 12
.TextMatrix(0, 0) = ""
.TextMatrix(0, 1) = ""
.TextMatrix(0, 2) = ""
.TextMatrix(0, 3) = ""
.TextMatrix(0, 4) = ""
.TextMatrix(0, 5) = ""
.TextMatrix(0, 6) = ""
.TextMatrix(0, 7) = ""
.TextMatrix(0, 8) = ""
P1.Min = pp1
For i = 1 To LOF(1) / Len(MeRecord1)
P1.Value = pp1 + 1
P1.Max = LOF(1) \ Len(MeRecord1)
Get #1, , MeRecord1
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = StrConv(MeRecord1.XM, vbUnicode)
.TextMatrix(.Rows - 1, 1) = StrConv(MeRecord1.bj, vbUnicode)
Open App.Path & "\2.dat" For Binary Access Read Write As #2
For MM = 1 To LOF(2) / Len(MeRecord)
Get #2, , MeRecord
If Mid(StrConv(MeRecord.DM, vbUnicode), 1, 6) = Mid(StrConv(MeRecord1.XM, vbUnicode), 1, 6) Then
.TextMatrix(.Rows - 1, 2) = MeRecord.date
.TextMatrix(.Rows - 1, 3) = MeRecord.a1
.TextMatrix(.Rows - 1, 4) = MeRecord.a2
.TextMatrix(.Rows - 1, 5) = MeRecord.a3
End If
Next MM
Close #2
pp1 = pp1 + 1
Next i
P1.Value = pp1
End With
Close #1
Kill App.Path & "\2.dat"
Dim aa() As Record
Dim bb As Record2
Dim recordReal As Record
Dim MeRecord As Record
Dim MeRecord1 As Record1
Dim RecordLen As Long
Dim RecordLen1 As Long
Dim MaxRecords As Long
Dim MAXDATE As Long
Dim i, w, j, MM, pp1, pp2 As Integer
pp1 = 0
On Error Resume Next
MM = 0
Open App.Path & "\1.dat" For Binary Access Read Write As #1
With MSFlexGrid1
.Rows = 1
.Cols = 12
.TextMatrix(0, 0) = ""
.TextMatrix(0, 1) = ""
.TextMatrix(0, 2) = ""
.TextMatrix(0, 3) = ""
.TextMatrix(0, 4) = ""
.TextMatrix(0, 5) = ""
.TextMatrix(0, 6) = ""
.TextMatrix(0, 7) = ""
.TextMatrix(0, 8) = ""
P1.Min = pp1
For i = 1 To LOF(1) / Len(MeRecord1)
P1.Value = pp1 + 1
P1.Max = LOF(1) \ Len(MeRecord1)
Get #1, , MeRecord1
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = StrConv(MeRecord1.XM, vbUnicode)
.TextMatrix(.Rows - 1, 1) = StrConv(MeRecord1.bj, vbUnicode)
Open App.Path & "\2.dat" For Binary Access Read Write As #2
For MM = 1 To LOF(2) / Len(MeRecord)
Get #2, , MeRecord
If Mid(StrConv(MeRecord.DM, vbUnicode), 1, 6) = Mid(StrConv(MeRecord1.XM, vbUnicode), 1, 6) Then
.TextMatrix(.Rows - 1, 2) = MeRecord.date
.TextMatrix(.Rows - 1, 3) = MeRecord.a1
.TextMatrix(.Rows - 1, 4) = MeRecord.a2
.TextMatrix(.Rows - 1, 5) = MeRecord.a3
End If
Next MM
Close #2
pp1 = pp1 + 1
Next i
P1.Value = pp1
End With
Close #1
Kill App.Path & "\2.dat"
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货