Control.Caption = ... geht nicht im Report_Open() bei Access 2000?

05/03/2008 - 13:25 von Stefan Dase | Report spam
Mahlzeit!

Ich habe einen Bericht, dem ich dynamisch zur Laufzeit
Spaltenüberschriften und Datenbindung zuweise. Dazu rufe ich eine
Funktion auf, die einfach durch alle Controls làuft und je nach Name (=>
Controltype) entweder die ControlSource oder die Caption setzt (s.u.).

Dies Klappt unter Access 2003 komplett im Report_Open()-Ereignis. Access
2000 kann nun aber die Captions offenbar nicht im Open-Event setzen
("Eigenschaft nicht verfügbar"), sondern erst beim Formatieren.

Gibt es irgendwo eine Übersicht, zu welchen Zeitpunkten beim Rendern
eines Reports welche Operationen zulàssig sind? Am besten auch noch
abhàngig von der Access-Version?

Ich werde die Bezeichnungsfelder nun als Textfelder umformatieren, damit
die Zuweisung zentral im Report_Open() erfolgen kann. Beim Formatieren
ist ungünstig, da dies Ereignis bei jeder neuen Seite durchlaufen wird.

Viele Grüße,
Stefan

<CODE>
For Each ctl In ReportObject.Controls
If ctl.Name Like "???EmpfaengerNr_*" Then
iEmpfNr = CLng(Mid(ctl.Name, 17))

Select Case Left(ctl.Name, 3)
'set caption for label
Case "lbl"
If rstMap.NoMatch Then
ctl.Caption = ""
Else
ctl.Caption = "Empfànger " & iEmpfNr
End If

Case "txt"
'set control source for textbox
If rstMap.NoMatch Then
ctl.ControlSource = ""
Else
ctl.ControlSource = "EmpfaengerNr_" & iEmpfNr
End If

Case Else
'nop
End Select
End If
Next ctl
</CODE>
 

Lesen sie die antworten

#1 Stefan Dase
05/03/2008 - 13:30 | Warnen spam
(...)
Dies Klappt unter Access 2003 komplett im Report_Open()-Ereignis. Access
2000 kann nun aber die Captions offenbar nicht im Open-Event setzen
("Eigenschaft nicht verfügbar"), sondern erst beim Formatieren.
(...)



Hat sich schon (fast) erledigt. Es handelt sich gar nicht um
Standardlabels, sondern dort sind die "Rotate Text OCX" von Lebans
eingesetzt, die offenbar erst nach dem Öffnen zur Verfügung stehen. Um
so erstaunlicher, dass es mit Access 2003 klaglos làuft?!

Viele Grüße aus Bremen,
Stefan

Ähnliche fragen