Bericht ist nicht offen...

24/07/2008 - 15:03 von Thomas Wolf | Report spam
Hallo NG

Ich möchte in einem Bericht ("rptAbsentGrafic") eine Klasse referenzieren,
was so auch funktioniert.
'=Bericht start ==Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Set SetAbsence = New clsAbsence
With SetAbsence
.Start Absence, IsReport, Me.Name
End With
End Sub
'=Bericht end ==
' Klasse start =Public Function Start(OccupiedType As enuOccupiedType, mp_ObjectType As
enuObject, strName as String)

10 Select Case mp_ObjectType
Case IsReport
20 Set mp_obj = Reports(strName)

End Function
' Klasse End =
Bei Zeile 20 in der Klasse erhalte ich dann den Run-time error 2451: (The
report name ,rptAbsentGrafic you entere dis misspelled or refers to a report
that isn't open or doesn't exist)

Ich gehe davon aus, dass ein Bericht bei der Formatierung des
Detailbereiches schon offen ist, oder nicht? Wenn nein: Wie kriege ich das
hin?

Danke und Gruss
Thomas
 

Lesen sie die antworten

#1 Thomas Möller
25/07/2008 - 08:43 | Warnen spam
Hallo Thomas,

"Thomas Wolf" wrote:
Ich möchte in einem Bericht ("rptAbsentGrafic") eine Klasse referenzieren,
was so auch funktioniert.
'=Bericht start ==> Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Set SetAbsence = New clsAbsence
With SetAbsence
.Start Absence, IsReport, Me.Name
End With
End Sub
'=Bericht end ==>
' Klasse start => Public Function Start(OccupiedType As enuOccupiedType, mp_ObjectType As
enuObject, strName as String)

10 Select Case mp_ObjectType
Case IsReport
20 Set mp_obj = Reports(strName)
.
End Function
' Klasse End =>
Bei Zeile 20 in der Klasse erhalte ich dann den Run-time error 2451: (The
report name ,rptAbsentGrafic you entere dis misspelled or refers to a report
that isn't open or doesn't exist)

Ich gehe davon aus, dass ein Bericht bei der Formatierung des
Detailbereiches schon offen ist, oder nicht? Wenn nein: Wie kriege ich das
hin?



ich könnte mir vorstellen, dass der Bericht noch nicht in der
Berichtsauflistung enthalten ist. Existieren tut er aber schon.

Du könntest statt des Berichtsnamens mal das Berichtsobjekt ansich
übergeben. Dazu müsstest Du die (Deklaration der) Prozedur Start wie folgt
anpassen:

Public Function Start(OccupiedType As enuOccupiedType, mp_ObjectType As
enuObject, rpt as Access.Report)


Set mp_obj = rpt


Der Aufruf würde dann wie folgt erfolgen:

.Start Absence, IsReport, Me



HTH
Thomas

Home: www.Team-Moeller.de

Ähnliche fragen