www.donkarl.com?FAQ2.16 - die 2. Frage

31/03/2008 - 11:38 von Meggy Kantert | Report spam
Liebe Experten,

nachdem ich mit SourceObject = "" und Visible = False verschiedene
Kombinationen ausprobiert habe, funktioniert jetzt die Anzeige der jeweils
ausgewàhlten UFos wie gewünscht. Nur bekomme ich jetzt die folgende
Fehlermeldung:
"In dem von Ihnen eingegebenen Ausdruck wird af ein Objelt verwiesen, das
geschlossen ist oder nicht existiert"
Und diese bei einer bestimmten Kombination auch 2x hintereinander.
Wenn ich nur mit visible=True oder False arbeite, kommt die Fehlermeldung
nicht, aber die UFos werden auch nicht wie gewünscht ein- oder ausgeblended.
(Sie liegen zum Teil übereinander)
Offensichtlich ist mir der Unterschied zwischen beiden Optionen nicht klar,
wenn mir freundlicherweise das jemand erklàren könnte...

Das ursprüngliche Problem
http://www.microsoft.com/communitie...=1&tid2168ae-c94f-4d7c-896a-f3e2c1d5b220&mid=ef49ef8c-8af1-40f6-9f03-1b1ec6d2e1bf

Auszug aus meinem Spaghetti-Code:
Private Sub Rg_Verpackung_Click()
If Me.Rg_Verpackung = 1 Then
Me!UF_Beutel_PerfoAufrolle.SourceObject = ""
Me!UF_Beutel_Perfo.SourceObject = ""
Me!UF_B_Karton.SourceObject = "UF_B_Karton"
ElseIf Me.Rg_Verpackung = 2 And Me.PerfoAufRolle = -1 Then
Me!UF_Beutel_PerfoAufrolle.SourceObject = "UF_Beutel_PerfoAufrolle"
Me!UF_Beutel_Perfo.SourceObject = "UF_Beutel_Perfo"
Me!UF_B_Karton.SourceObject = ""
ElseIf Me.Rg_Verpackung = 2 And Me.PerfoAufRolle = 0 Then
Me!UF_Beutel_PerfoAufrolle.SourceObject = "UF_Beutel_PerfoAufrolle"
Me!UF_Beutel_Perfo.SourceObject = ""
Me!UF_B_Karton.SourceObject = ""
End If
If Me.Rg_Verpackung = 2 And Me.PerfoAufRolle = -1 Then
Me!UF_Beutel_Perfo.Visible = True
Else
Me!UF_Beutel_Perfo.Visible = False
End If

Private Sub Rg_Verpackung_AfterUpdate()
If Me.Rg_Verpackung = 1 Then
Me!UF_Beutel_PerfoAufrolle.Visible = False
Me!UF_Beutel_Perfo.Visible = False
Me!UF_B_Karton.Visible = True
ElseIf Me.Rg_Verpackung = 2 And Me.PerfoAufRolle = -1 Then
Me!UF_Beutel_PerfoAufrolle.Visible = True
Me!UF_Beutel_Perfo.Visible = True
Me!UF_B_Karton.Visible = False
ElseIf Me.Rg_Verpackung = 2 And Me.PerfoAufRolle = 0 Then
Me!UF_Beutel_PerfoAufrolle.Visible = True
Me!UF_Beutel_Perfo.Visible = False
Me!UF_B_Karton.Visible = False
End If

If Me.Rg_Verpackung = 2 And Me.PerfoAufRolle = -1 Then
Me!UF_Beutel_Perfo.Visible = True
Else
Me!UF_Beutel_Perfo.Visible = False
End If

vielen Dank fürs Lesen bis hierher,
Meggy
AccessDummy
 

Lesen sie die antworten

#1 Thomas Winkler
31/03/2008 - 12:00 | Warnen spam
Hi

Offensichtlich ist mir der Unterschied zwischen beiden Optionen nicht klar,
wenn mir freundlicherweise das jemand erklàren könnte...



Du musst unbedingt zwischen *UFO-Steuerelement* und *UFO selbst*
unterscheiden.

.SourceObject weist Deinem UFO-Steuerelement ein Formular-Objekt zu bzw.
hebt die Zuordnung wieder auf.

UFO-Steuerelement.Visible setzt die Sichtbarkeit eines
UFO-Steuerelementes (und damit natürlich auch die des eingebetteten
Formulars)

UFO-Steuerelement.Visible = False mit UFO-Steuerelement.SourceObject =
"" zeigt *doppelt* nix an, weil 1. nicht sichtbar und 2. leer.

UFO-Steuerelement.Visible = True mit UFO-Steuerelement.SourceObject = ""
zeigt *einfach* nix an, weil leer

UFO-Steuerelement.Visible = False mit UFO-Steuerelement.SourceObject =
"DeinForm" zeigt *einfach* nix an, weil nicht sichtbar. Allerdings ist
hie der Zugriff aus dem Code auf Objekte im UFO möglich, denn sie sind
ja da, nur eben nicht sichtbar.

UFO-Steuerelement.Visible = True mit UFO-Steuerelement.SourceObject =
"DeinForm" zeigt was an, *und* làsst Dich via Code darauf zugreifen.

HTH

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."

Ähnliche fragen