PDA

Vollständige Version anzeigen : Ufo laden wenn Bedingung erfülllt


Hondo
19.09.2001, 13:35
Hallo Leute,
Habe ein HF mit UF. Mittels Kombi im HF tätige ich eine Auswahl. Das UF soll erst dann geladen werden wenn eine Auswahl erfolgt, d.h. data > 0 ist, bzw after Update beim Kombi. Es geht aber nicht nur darum daß das UF nicht sichtbar ist, sondern tatsächlich nicht geladen wird. (dauert nämlich ca. 10sec)
Wer Hilft?
Gruß Andreas

HPG
19.09.2001, 15:12
Hallo Andreas,

hinterlege Zählerfelder und setzte sie beim Öffnen des UF auf 0.
Wenn DS da sind, zählt [textfeld_anzahlsätze] hoch, ansonsten wird das UF nicht geöffnet.

Nach Aktualisierung des Kombi:
Dim stDocName As String
Dim stLinkCriteria As String

stLinkCriteria = "[DeinFeld] Like '*" & Me![DeinKombi] & "*'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Im UF:

Private Sub Form_Open(Cancel As Integer)
Me![textfeld_anzahlsätze].Value = "0"
Me![textfeldaktuellersatz].Value = "0"

If Me.RecordsetClone.RecordCount = "0" Then
MsgBox "Es wurde kein Datensatz mit dem gesuchten Kriterium gefunden !", vbOKOnly + vbInformation
DoCmd.Close acForm, "Dein Unterformular"
End If

End Sub

Gruß
Hans-Peter

Scorefun
19.09.2001, 16:10
Tach auch,

also ich persönlich würde das Herkunftsobjekt des Unterformulares erst mal ganz entfernen, so daß gar kein UFO mit dem Steuerelement verbunden ist.
Wenn das Formular dann geöffnet wird, hat man nur ein leeres Steuerelement.
Daher kann man das dann von Anfang an erstmal als unsichtbar deklarieren.

Erst nach Aktualisierung Deines Kombifeldes kommt die Anbindung des UFO:

me!NamedesUFOSteuerelement.SourceObjekt ="NamedesUnterformulares"
me!NamedesUFOSteuerelement.visible = true

Muesste funzen.

HTH

erwin
19.09.2001, 20:35
den Tipp von HPG versteh' ich nicht - muss auch nicht sein ;)

Das von Scorefun klingt ganz vernünftig - alternativ dh. wenn du das UFo sehrwohl anzeigen willst, kannst du ihm ja auch die Datengrundlage erst dyn. zuweisen:

me!NameUFOSteuerelement.Form.Recordsource ="DeineTabOderQueryOderSQL"

so long erwin...

Hondo
20.09.2001, 08:39
Morgen Leute,
danke für eure Tips, werde mal den Vormittag nutzen um daran herum zu probieren.
Das UFo dauert nämlich sehr lang zum laden (ca 11s). Der Grund liegt an ca. 6500 Labels die über Controls angesteuert werden und ca. 1000 Textboxen. Dieses eine Ufo hat die Größe von ca. 1MB Speicher und deswegen soll diese Grafik nur bei Bedarf Angezeigt werden
Gruß Andreas

Hondo
20.09.2001, 09:24
Hallo Scorefun, erwin,
Ac bringt mir den Error: "Object doesn´t support this property or method" und zeigt auf die erste Zeise des Codes.
Eine Frage: was genau meint ihr mit Ufo-Steuerelement?
Gruß Andreas

Scorefun
20.09.2001, 09:52
In Deinem Hauptformular befindet sich doch ein Steuerelement vom Typ "Unterformular/-bericht"
Dieses Steuerelement hat genauso einen Namen
wie jedes andere Steuerelement auch.
(Anklicken/rechteMaustaste/Eigenschaften)

Diesen Namen mußt Du in meiner Code-Zeile angeben.

HTH