Dear Sir
I am getting error The object is already open
that means inner recordset("rsre") is already open and again trying to open.
Please help me to solve the issue
Private Sub fn()
'On Error GoTo ErrHandler
Dim varSlNo As Integer
Dim varTypCode As Integer
Dim SqlStr As String
Dim rs As New ADODB.Recordset
Dim rsRe As New ADODB.Recordset
Dim varASValue As Double
Dim varPFValue As Double
lvwDutyPayable.ListItems.Clear
SqlStr = "select INVOICE.InvoiceTypeCode, INVOICE.TarrifHeadNumber, INVOICE.ExchangeRate, CETSH.GoodsDescription, INVOICETYPEMASTER.InvoiceTypeName, " _
& " Sum (INVOICE.BasicValue * INVOICE.ExchangeRate) as AssValue" _
& " From INVOICEITEMS, INVOICE, CETSH, INVOICETYPEMASTER " _
& " Where INVOICETYPEMASTER.InvoiceTypeCode=INVOICE.InvoiceTypeCode " _
& " and month(INVOICE.InvoiceDate)='" & Month(dtpReturnMonth) & "' and year(INVOICE.InvoiceDate)= '" & Year(dtpReturnMonth) & "' " _
& " and INVOICE.BranchCode= " & cpBraCode & " group by " _
& " INVOICE.InvoiceTypeCode, INVOICE.TarrifHeadNumber, INVOICE.ExchangeRate, CETSH.GoodsDescription, INVOICETYPEMASTER.InvoiceTypeName " _
& " Order by INVOICE.InvoiceTypeCode desc, INVOICE.TarrifHeadNumber"
rs.Open SqlStr, CN, adOpenKeyset, adLockReadOnly
If rs.RecordCount <> 0 Then
Do While Not rs.EOF
varASValue = rs.Fields("AssValue")
varPFValue = 0
SqlStr = "Select InvoiceCharges.ChargesValue*Invoice.ExchangeRate as PFValue from" _
& " InvoiceCharges,Invoice " _
& " where InvoiceCharges.ChargesCode=1 " _
& " and INVOICE.FinYearCode= INVOICECHARGES.FinYearCode and " _
& " invoice.BranchCode = invoicecharges.BranchCode And invoice.InvoiceNumber = invoicecharges.InvoiceNumber " _
& " and month(INVOICE.InvoiceDate)='" & Month(dtpReturnMonth) & "' and year(INVOICE.InvoiceDate)= '" & Year(dtpReturnMonth) & "' " _
rsRe.Open SqlStr, CN, adOpenKeyset, adLockReadOnly
varPFValue = varPFValue + rsRe.Fields("PFValue")
varASValue = varASValue + varPFValue
If varTypCode <> rs.Fields("InvoiceTypeCode") Then
With lvwDutyPayable.ListItems.Add(, , "")
.SubItems(1) = rs.Fields("InvoiceTypeName")
.ListSubItems(1).Bold = True
End With
varTypCode = rs.Fields("InvoiceTypeCode")
End If
varSlNo = varSlNo + 1
With lvwDutyPayable.ListItems.Add(, , varSlNo)
.SubItems(1) = rs.Fields("TarrifHeadNumber")
.SubItems(2) = rs.Fields("GoodsDescription")
.SubItems(3) = "U"
.SubItems(4) = Format$(rs.Fields("SumQuantity"), "0.000")
.SubItems(5) = Format$(rs.Fields("SumQuantity"), "0.000")
.SubItems(6) = Format$(varASValue, "0.000")
.SubItems(7) = varPFValue
End With
rsRe.MoveNext
rs.MoveNext
Loop
End If
rsre.close
rs.Close
End If
Exit Sub
ErrHandler:
Call ErrHandler(Err.Number, Err.Description, Me.Name, "Restore")
MsgBox "Error occured during Restore", vbCritical, "Error"
End Sub
Thanks
Ram
I am getting error The object is already open
that means inner recordset("rsre") is already open and again trying to open.
Please help me to solve the issue
Private Sub fn()
'On Error GoTo ErrHandler
Dim varSlNo As Integer
Dim varTypCode As Integer
Dim SqlStr As String
Dim rs As New ADODB.Recordset
Dim rsRe As New ADODB.Recordset
Dim varASValue As Double
Dim varPFValue As Double
lvwDutyPayable.ListItems.Clear
SqlStr = "select INVOICE.InvoiceTypeCode, INVOICE.TarrifHeadNumber, INVOICE.ExchangeRate, CETSH.GoodsDescription, INVOICETYPEMASTER.InvoiceTypeName, " _
& " Sum (INVOICE.BasicValue * INVOICE.ExchangeRate) as AssValue" _
& " From INVOICEITEMS, INVOICE, CETSH, INVOICETYPEMASTER " _
& " Where INVOICETYPEMASTER.InvoiceTypeCode=INVOICE.InvoiceTypeCode " _
& " and month(INVOICE.InvoiceDate)='" & Month(dtpReturnMonth) & "' and year(INVOICE.InvoiceDate)= '" & Year(dtpReturnMonth) & "' " _
& " and INVOICE.BranchCode= " & cpBraCode & " group by " _
& " INVOICE.InvoiceTypeCode, INVOICE.TarrifHeadNumber, INVOICE.ExchangeRate, CETSH.GoodsDescription, INVOICETYPEMASTER.InvoiceTypeName " _
& " Order by INVOICE.InvoiceTypeCode desc, INVOICE.TarrifHeadNumber"
rs.Open SqlStr, CN, adOpenKeyset, adLockReadOnly
If rs.RecordCount <> 0 Then
Do While Not rs.EOF
varASValue = rs.Fields("AssValue")
varPFValue = 0
SqlStr = "Select InvoiceCharges.ChargesValue*Invoice.ExchangeRate as PFValue from" _
& " InvoiceCharges,Invoice " _
& " where InvoiceCharges.ChargesCode=1 " _
& " and INVOICE.FinYearCode= INVOICECHARGES.FinYearCode and " _
& " invoice.BranchCode = invoicecharges.BranchCode And invoice.InvoiceNumber = invoicecharges.InvoiceNumber " _
& " and month(INVOICE.InvoiceDate)='" & Month(dtpReturnMonth) & "' and year(INVOICE.InvoiceDate)= '" & Year(dtpReturnMonth) & "' " _
rsRe.Open SqlStr, CN, adOpenKeyset, adLockReadOnly
varPFValue = varPFValue + rsRe.Fields("PFValue")
varASValue = varASValue + varPFValue
If varTypCode <> rs.Fields("InvoiceTypeCode") Then
With lvwDutyPayable.ListItems.Add(, , "")
.SubItems(1) = rs.Fields("InvoiceTypeName")
.ListSubItems(1).Bold = True
End With
varTypCode = rs.Fields("InvoiceTypeCode")
End If
varSlNo = varSlNo + 1
With lvwDutyPayable.ListItems.Add(, , varSlNo)
.SubItems(1) = rs.Fields("TarrifHeadNumber")
.SubItems(2) = rs.Fields("GoodsDescription")
.SubItems(3) = "U"
.SubItems(4) = Format$(rs.Fields("SumQuantity"), "0.000")
.SubItems(5) = Format$(rs.Fields("SumQuantity"), "0.000")
.SubItems(6) = Format$(varASValue, "0.000")
.SubItems(7) = varPFValue
End With
rsRe.MoveNext
rs.MoveNext
Loop
End If
rsre.close
rs.Close
End If
Exit Sub
ErrHandler:
Call ErrHandler(Err.Number, Err.Description, Me.Name, "Restore")
MsgBox "Error occured during Restore", vbCritical, "Error"
End Sub
Thanks
Ram