Hoi Jan,
In je code mis ik weer het database .Refresh commando.
Als ik dat toevoeg lukt het hier wel en blijft de melding 'error 91...' en 'no current record' weg.
Hieronder de aangepaste en opgeschoonde code:
Public Sub OphalenDemonstratieTabel(TransactieMatrix())
On Error GoTo FoutOphalenDemonstratieTabel
Dim InkoopBedrag As Currency, VerkoopBedrag As Currency
Dim InkoopDatumGrens As String
Dim M As Integer
With frmInvestor.datQueryDemonstratie
.DatabaseName = frmInvestor.ext(App.Path) & "DATABASE\Portef1.mdb"
InkoopDatumGrens = "20000102"
Dim sRS As String
sRS = "Select * FROM DemonstratieTabel WHERE InkoopDatum > " & Chr(34) & InkoopDatumGrens & Chr(34) & " ORDER BY Indicator"
.RecordSource = sRS
.Refresh
M = 0
Do While .Recordset.EOF = False
If .Recordset("InkoopAantal") <> 0 And .Recordset("VerkoopAantal") <> 0 And .Recordset("InkoopDatum") > 20001002 And .Recordset("VerkoopDatum") > 20001003 Then
M = M + 1
TransactieMatrix(M, 0) = .Recordset("NaamFonds")
TransactieMatrix(M, 1) = .Recordset("IndicatorTekst")
TransactieMatrix(M, 2) = .Recordset("InkoopAantal")
TransactieMatrix(M, 3) = .Recordset("VerkoopAantal") * .Recordset("VerkoopKoers") - .Recordset("VerkoopAantal")
TransactieMatrix(M, 4) = .Recordset("InkoopKoers")
TransactieMatrix(M, 5) = .Recordset("VerkoopKoers")
TransactieMatrix(M, 6) = .Recordset("InkoopKosten")
TransactieMatrix(M, 7) = .Recordset("VerkoopKosten")
TransactieMatrix(M, 8) = .Recordset("InkoopBedrag")
TransactieMatrix(M, 9) = .Recordset("VerkoopBedrag")
TransactieMatrix(M, 10) = .Recordset("InkoopDatum")
TransactieMatrix(M, 11) = .Recordset("VerkoopDatum")
TransactieMatrix(M, 12) = .Recordset("TransactieSoort")
TransactieMatrix(M, 13) = .Recordset("HoldingPeriod")
TransactieMatrix(M, 14) = .Recordset("MFE")
TransactieMatrix(M, 15) = .Recordset("MAE")
End If
.Recordset.MoveNext
Loop
End With
Exit Sub
FoutOphalenDemonstratieTabel:
FoutBron = Err.Number & " " & Err.Description
Call frmInvestor.WriteLog("---< " & sRS & " geeft fout " & FoutBron & " in OphalenDemonstratieTabel")
If FoutBron <> VorigeFout Then
' Call frmInvestor.WriteLOG("---< " & App.Title & " geeft >---" & Foutbron)
VorigeFout = FoutBron
Resume Next
End If
End Sub
Lukt het nu wel?
Peter