Option Explicit
Public cn As New ADODB.Connection
Public cmd As New ADODB.Command
Public rs As New ADODB.Recordset
Private Sub removeMileDupes()
Dim strSQL As String
If cn.State = 0 Then
'fileset says which set of files are being loaded at the moment
Call doDBaction("openDB", fileSet)
End If
'clean_dupes tables have ignore duplicates flag on
'vb catches the error and stops
'so resume next.
On Error Resume Next
strSQL = "TRUNCATE TABLE CLEAN_MILE_DUPES"
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
Set rs = cmd.Execute
strSQL = "INSERT CLEAN_MILE_DUPES (" & vbCrLf _
& " CASE_IDENTIFIER" & vbCrLf _
& " ,DOCUMENT_TYPE" & vbCrLf _
& " ,DOCUMENT_NUMBER" & vbCrLf _
& " ,MILESTONE" & vbCrLf _
& " ,MILESTONE_DATE_TYPE" & vbCrLf _
& " ,MILESTONE_DATE)" & vbCrLf _
& "SELECT CASE_IDENTIFIER" & vbCrLf _
& " ,DOCUMENT_TYPE" & vbCrLf _
& " ,DOCUMENT_NUMBER" & vbCrLf _
& " ,MILESTONE" & vbCrLf _
& " ,MILESTONE_DATE_TYPE" & vbCrLf _
& " ,MILESTONE_DATE " & vbCrLf _
& " FROM CASE_MILESTONE_TEMP"
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
Set rs = cmd.Execute
'THIS ^^^ IS THE COMMAND THAT IS FAILING. IT HANGS FOR 5 OR
'MORE SECONDS. DOING COUNT(*) ON THAT TABLE GIVES 0
'RECORDS. THEREFORE THE FOLLOWING CODE JUST REMOVES
'EVERYTHING FROM THE TEMP TABLE.
strSQL = "TRUNCATE TABLE CASE_MILESTONE_TEMP"
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
Set rs = cmd.Execute
strSQL = "INSERT CASE_MILESTONE_TEMP (" & vbCrLf _
& " CASE_IDENTIFIER" & vbCrLf _
& " ,DOCUMENT_TYPE" & vbCrLf _
& " ,DOCUMENT_NUMBER" & vbCrLf _
& " ,MILESTONE" & vbCrLf _
& " ,MILESTONE_DATE_TYPE" & vbCrLf _
& " ,MILESTONE_DATE)" & vbCrLf _
& " SELECT CASE_IDENTIFIER" & vbCrLf _
& " ,DOCUMENT_TYPE" & vbCrLf _
& " ,DOCUMENT_NUMBER" & vbCrLf _
& " ,MILESTONE" & vbCrLf _
& " ,MILESTONE_DATE_TYPE" & vbCrLf _
& " ,MILESTONE_DATE " & vbCrLf _
& " FROM CLEAN_MILE_DUPES"
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
Set rs = cmd.Execute
strSQL = "TRUNCATE TABLE CLEAN_MILE_DUPES"
cmd.CommandText = strSQL
cmd.CommandType = adCmdText
Set rs = cmd.Execute
End Sub