G
GLT
Hi,
I am trying to read from table (A) which contains sequential data loaded
into access from a flat file. I am then using VB to copy each set of data
from one recordset to another recordset - I keep getting run-time error 3021
- can anyone advise what is going wrong?
Here is a copy of the vb I am using:
Sub BuildStatsTable()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim rst1 As DAO.Recordset
Dim countLoopA As Integer
Dim countLoopB As Integer
Dim countLoopc As Integer
Set db = CurrentDb()
Set rst = CurrentDb.OpenRecordset("tbl_ParsedLogFileDetails")
Set rst1 = CurrentDb.OpenRecordset("tbl_BackupLogStats")
If rst.RecordCount = 0 Then
'rst.Close
Set rst = Nothing
Set db = Nothing
Else
With rst
.MoveLast
.MoveFirst
Do Until rst.EOF
strDate = rst!DateStamp
strFileNo = rst![FileNo]
strFeild1 = rst![Feild1]
strFeild2 = rst![Feild2]
If strFeild1 = "Job No" Then
rst1.AddNew
rst1![FileNo] = rst![FileNo]
rst1![DateStamp] = rst![DateStamp]
rst1![Job No] = rst![JobNo]
rst1![Workstation] = rst![Workstation]
rst1![Session] = rst![Session]
rst.MoveNext
ElseIf strFeild1 = "Job ID" Then
rst1.Edit
rst1![Job ID] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Description" Then
rst1.Edit
rst1![Description] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Source" Then
rst1.Edit
rst1![Source] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Target" Then
rst1.Edit
rst1![Target] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Start Time" Then
rst1.Edit
rst1![Start Time] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Directories" Then
rst1.Edit
rst1![Total Directories] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total File(s)" Then
rst1.Edit
rst1![Total File(s)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Skip(s)" Then
rst1.Edit
rst1![Total Skip(s)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Size (Disk)" Then
rst1.Edit
rst1![Total Size (Disk)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Size (Media)" Then
rst1.Edit
rst1![Total Size (Media)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Elapsed Time" Then
rst1.Edit
rst1![Elapsed Time] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Session Status" Then
rst1.Edit
rst1![Session Status] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Average Throughput" Then
rst1.Edit
rst1![Average Throughput] = strFeild2
rst.MoveNext
If rst![Feild1] = "Total Error(s)/Warning(s)" Then
rst1.Edit
rst1![Total Error(s)/Warning(s)] = strFeild2
ElseIf rst![Feild1] = "Job No" Then
rst1.Update
'rst.MovePrevious
End If
Else
.MoveNext
End If
Loop
End With
rst.Close
rst1.Close
End If
End Sub
Any help is always greatly appreciated...
Cheers,
GLT
I am trying to read from table (A) which contains sequential data loaded
into access from a flat file. I am then using VB to copy each set of data
from one recordset to another recordset - I keep getting run-time error 3021
- can anyone advise what is going wrong?
Here is a copy of the vb I am using:
Sub BuildStatsTable()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim rst1 As DAO.Recordset
Dim countLoopA As Integer
Dim countLoopB As Integer
Dim countLoopc As Integer
Set db = CurrentDb()
Set rst = CurrentDb.OpenRecordset("tbl_ParsedLogFileDetails")
Set rst1 = CurrentDb.OpenRecordset("tbl_BackupLogStats")
If rst.RecordCount = 0 Then
'rst.Close
Set rst = Nothing
Set db = Nothing
Else
With rst
.MoveLast
.MoveFirst
Do Until rst.EOF
strDate = rst!DateStamp
strFileNo = rst![FileNo]
strFeild1 = rst![Feild1]
strFeild2 = rst![Feild2]
If strFeild1 = "Job No" Then
rst1.AddNew
rst1![FileNo] = rst![FileNo]
rst1![DateStamp] = rst![DateStamp]
rst1![Job No] = rst![JobNo]
rst1![Workstation] = rst![Workstation]
rst1![Session] = rst![Session]
rst.MoveNext
ElseIf strFeild1 = "Job ID" Then
rst1.Edit
rst1![Job ID] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Description" Then
rst1.Edit
rst1![Description] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Source" Then
rst1.Edit
rst1![Source] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Target" Then
rst1.Edit
rst1![Target] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Start Time" Then
rst1.Edit
rst1![Start Time] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Directories" Then
rst1.Edit
rst1![Total Directories] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total File(s)" Then
rst1.Edit
rst1![Total File(s)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Skip(s)" Then
rst1.Edit
rst1![Total Skip(s)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Size (Disk)" Then
rst1.Edit
rst1![Total Size (Disk)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Total Size (Media)" Then
rst1.Edit
rst1![Total Size (Media)] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Elapsed Time" Then
rst1.Edit
rst1![Elapsed Time] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Session Status" Then
rst1.Edit
rst1![Session Status] = strFeild2
rst.MoveNext
ElseIf strFeild1 = "Average Throughput" Then
rst1.Edit
rst1![Average Throughput] = strFeild2
rst.MoveNext
If rst![Feild1] = "Total Error(s)/Warning(s)" Then
rst1.Edit
rst1![Total Error(s)/Warning(s)] = strFeild2
ElseIf rst![Feild1] = "Job No" Then
rst1.Update
'rst.MovePrevious
End If
Else
.MoveNext
End If
Loop
End With
rst.Close
rst1.Close
End If
End Sub
Any help is always greatly appreciated...
Cheers,
GLT