Acc97-Controls-Auflistung von Section

Moin. Weiss jemand, was ich von folgendem Wahnsinn wieder halten soll?

Ich habe ein Formular und einen Button mit folgendem Code:
Dim ctl as Control
Set ctl=Me.Section(acDetail).Controls(„Controlname“)

Auf meinem 98er Rechner mit A97 und ODE funktioniert´s, auch mit /Runtime-Switch.

Wenn ich das gleiche auf einem „jungfräulichen“ NT 4.0 SP3 mit installierter 97er-Runtime ausführe (die Runtime läuft korrekt), kriege ich den Fehler „Das Objekt, auf das sich der Code bezieht ist geschlossen“ (oder so ähnlich, habe die Fehlernnummer vergessen). Jetzt weiß ich nicht, ob´s an NT liegt oder daran, daß der Code unter der Runtime nicht funktioniert. Und die Frage ist eben, warum funktioniert das nicht? Irgendeine Idee?
Uni

Nach meinen Erfahrungen mit der Runtime kann das an allem möglichen liegen (falsche oder fehlende Verweise, falsche Version der verwendeten OCXe usw.) Ich würde auf jeden Fall die Verweise auf broken links untersuchen (References-Auflistung, IsBroken-Eigenschaft…).

Ansonsten würde ich mal versuchen, herauszufinden, um welches Objekt es sich handelt, also etwa so:

Dim Tmp, Frm As Form, Sec As Section, Ctl As Control
 Set Frm = Me
 MsgBox Frm.Name
 Set Sec = Frm.Section(acDetail)
 MsgBox Sec.Name
 Tmp = ""
 For Each Ctl In Sec.Controls
 Tmp = Tmp & ", " & Ctl.Name
 Next Ctl
 MsgBox Mid(Tmp, 3)
 Set Ctl = Sec.Controls("Test")
 MsgBox Ctl.Name

Allerdings bekomme ich dabei auch einen Fehler (Fehler 2467 [auch NT4, allerdings SP5]), merkwürdig, merkwürdig - ich würde also verwenden:

 Set Ctl = Me.Controls("Test")

das sollte in jedem Fall klappen…

Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Reinhard,

Ich
würde auf jeden Fall die Verweise auf
broken links untersuchen
(References-Auflistung,
IsBroken-Eigenschaft…).

Daran liegt´s definitiv nicht. Alles andere funktioniert wunderbar.

Ansonsten würde ich mal versuchen,
herauszufinden, um welches Objekt es sich
handelt, also etwa so:

Dim Tmp, Frm As Form, Sec As Section, Ctl
As Control
Set Frm = Me
MsgBox Frm.Name
Set Sec = Frm.Section(acDetail)
MsgBox Sec.Name
Tmp = „“
For Each Ctl In Sec.Controls
Tmp = Tmp & ", " & Ctl.Name
Next Ctl
MsgBox Mid(Tmp, 3)
Set Ctl = Sec.Controls(„Test“)
MsgBox Ctl.Name

Das werd ich mal eingrenzen.

Allerdings bekomme ich dabei auch einen
Fehler (Fehler 2467 [auch NT4, allerdings
SP5]), merkwürdig, merkwürdig - ich würde
also verwenden:

Stimmt. Das ist genau der Fehler, den ich auch bekomme.

Set Ctl = Me.Controls(„Test“)
das sollte in jedem Fall klappen…

Klappt auch. Ich gehe mal davon aus, daß es sich um einen Bug handelt. Allerdings habe ich in der KB nix drüber gefunden.

Uni