Public Sub CheckRestoreCompleteness()
Dim rsJobList As ADODB.Recordset
Dim rsFunctionList As ADODB.Recordset
Dim rsContractorFunctionList As ADODB.Recordset
Dim rsInvoiceFunctionList As ADODB.Recordset
Dim rsProductionInputDetailList As ADODB.Recordset
Dim rsFunctionTrackingList As ADODB.Recordset
Dim rsProductionTrackingList As ADODB.Recordset
Dim rsProductionInvoiceDetailList As ADODB.Recordset
Set rsJobList = New ADODB.Recordset
Set rsFunctionList = New ADODB.Recordset
Set rsContractorFunctionList = New ADODB.Recordset
Set rsInvoiceFunctionList = New ADODB.Recordset
Set rsFunctionTrackingList = New ADODB.Recordset
Set rsProductionTrackingList = New ADODB.Recordset
Set rsProductionInputDetailList = New ADODB.Recordset
Set rsProductionInvoiceDetailList = New ADODB.Recordset
With rsJobList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT JobID FROM tblJob1 WHERE ClientID = 6"
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
strWHEREJobID = strWHEREJobID & "JobID = " & !JobID & " OR "
strWHEREtblFunctionJobID = strWHEREtblFunctionJobID & "tblFunction1.JobID = " & !JobID & " OR "
intJobID = DLookup("JobID", "tblJob", "JobID = " & !JobID)
If Nz(intJobID, "") = "" Then
MsgBox "Fix Jobs"
End If
.MoveNext
Loop
.Close
End With
With rsFunctionList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT FunctionID FROM tblFunction1 WHERE " & Left(strWHEREtblFunctionJobID, Len(strWHEREtblFunctionJobID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
strWHEREFunctionID = strWHEREFunctionID & "FunctionID = " & !FunctionID & " OR "
strWHEREtblContractorFunctionFunctionID = strWHEREtblContractorFunctionFunctionID & "tblContractorFunction.FunctionID = " & !FunctionID & " OR "
strWHEREtblProductionInputFunctionID = strWHEREtblProductionInputFunctionID & "tblContractorFunction.FunctionID = " & !FunctionID & " OR "
strWHEREtblInvoiceFunctionFunctionID = strWHEREtblInvoiceFunctionFunctionID & "tblInvoiceFunction.FunctionID = " & !FunctionID & " OR "
intFunctionID = DLookup("FunctionID", "tblFunction", "FunctionID = " & !FunctionID)
If Nz(intFunctionID, "") = "" Then
MsgBox "Fix Functions"
End If
.MoveNext
Loop
.Close
End With
With rsInvoiceFunctionList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT InvoiceFunctionID FROM tblInvoiceFunction1 WHERE " & Left(strWHEREFunctionID, Len(strWHEREFunctionID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
strWHEREInvoiceFunctionID = strWHEREInvoiceFunctionID & "InvoiceFunctionID = " & !InvoiceFunctionID & " OR "
intInvoiceFunctionID = DLookup("InvoiceFunctionID", "tblInvoiceFunction", "InvoiceFunctionID = " & !InvoiceFunctionID)
If Nz(intInvoiceFunctionID, "") = "" Then
MsgBox "Fix InvoiceFunctions"
End If
.MoveNext
Loop
.Close
End With
With rsFunctionTrackingList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT FunctionTrackingID FROM tblFunctionTracking1 WHERE " & Left(strWHEREFunctionID, Len(strWHEREFunctionID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
strWHEREFunctionTrackingID = strWHEREFunctionTrackingID & "FunctionTrackingID = " & !FunctionTrackingID & " OR "
intFunctionTrackingID = DLookup("FunctionTrackingID", "tblFunctionTracking", "FunctionTrackingID = " & !FunctionTrackingID)
If Nz(intFunctionTrackingID, "") = "" Then
MsgBox "Fix FunctionTrackings"
End If
.MoveNext
Loop
.Close
End With
With rsContractorFunctionList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT ContractorFunctionID FROM tblContractorFunction1 WHERE " & Left(strWHEREFunctionID, Len(strWHEREFunctionID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
strWHEREContractorFunctionID = strWHEREContractorFunctionID & "ContractorFunctionID = " & !ContractorFunctionID & " OR "
intContractorFunctionID = DLookup("ContractorFunctionID", "tblContractorFunction", "ContractorFunctionID = " & !ContractorFunctionID)
If Nz(intContractorFunctionID, "") = "" Then
MsgBox "Fix ContractorFunctions"
End If
.MoveNext
Loop
.Close
End With
With rsProductionTrackingList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT ProductionTrackingID FROM tblProductionTracking1 WHERE " & Left(strWHEREFunctionTrackingID, Len(strWHEREFunctionTrackingID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
strWHEREProductionTrackingID = strWHEREProductionTrackingID & "ProductionTrackingID = " & !ProductionTrackingID & " OR "
intProductionTrackingID = DLookup("ProductionTrackingID", "tblProductionTracking", "ProductionTrackingID = " & !ProductionTrackingID)
If Nz(intProductionTrackingID, "") = "" Then
DoCmd.SetWarnings False
DoCmd.RunSQL ("INSERT INTO tblProductionTracking (ProductionTrackingID, ProductionID, FunctionTrackingID, TrackingNumber, TrackingOnly, SourceData) " _
& "SELECT ProductionTrackingID, ProductionID, FunctionTrackingID, TrackingNumber, TrackingOnly, SourceData " _
& "FROM tblProductionTracking1 " _
& "WHERE ProductionTrackingID = " & !ProductionTrackingID)
DoCmd.SetWarnings True
End If
.MoveNext
Loop
.Close
End With
With rsProductionInputDetailList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT * FROM tblProductionInputDetail1 WHERE " & Left(strWHEREContractorFunctionID, Len(strWHEREContractorFunctionID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
intProductionInputDetailID = DLookup("ProductionInputDetailID", "tblProductionInputDetail", "ProductionInputDetailID = " & !ProductionInputDetailID)
If Nz(intProductionInputDetailID, "") = "" Then
DoCmd.RunSQL ("INSERT INTO tblProductionInputDetail (ProductionInputDetailID, ContractorFunctionID, ProductionID, ProductionUnits) " _
& "SELECT ProductionInputDetailID, ContractorFunctionID, ProductionID, ProductionUnits " _
& "FROM tblProductionInputDetail1 " _
& "WHERE ProductionInputDetailID = " & !ProductionInputDetailID)
End If
.MoveNext
Loop
End With
With rsProductionInvoiceDetailList
.ActiveConnection = CurrentProject.Connection
.Source = "SELECT * FROM tblProductionInvoiceDetail1 WHERE " & Left(strWHEREInvoiceFunctionID, Len(strWHEREInvoiceFunctionID) - 4)
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
Do Until .EOF
intProductionInvoiceDetailID = DLookup("ProductionInvoiceDetailID", "tblProductionInvoiceDetail", "ProductionInvoiceDetailID = " & !ProductionInvoiceDetailID)
If Nz(intProductionInvoiceDetailID, "") = "" Then
DoCmd.RunSQL ("INSERT INTO tblProductionInvoiceDetail (ProductionInvoiceDetailID, InvoiceFunctionID, ProductionInvoiceID, ProductionID, ProductionUnits, InvoiceDetailTotal, InvoiceNotes) " _
& "SELECT ProductionInvoiceDetailID, InvoiceFunctionID, ProductionInvoiceID, ProductionID, ProductionUnits, InvoiceDetailTotal, InvoiceNotes " _
& "FROM tblProductionInvoiceDetail1 " _
& "WHERE ProductionInvoiceDetailID = " & !ProductionInvoiceDetailID)
End If
.MoveNext
Loop
End With
End Sub