PDA

Vollständige Version anzeigen : Datensatz im Hauptformular nur dann anzeigen wenn ein Datensatz im UFO vorhanden ist


Maria-Augusta
22.03.2006, 10:02
Hallo,

ich setze per VBA einen Filter im UFO, was auch funktioniert, aber das Ganze hat einen Schönheitsfehler. Ich möchte nur dann einen Datensatz im Hauptformular sehen wenn auch im UFO Daten vorhanden sind.

Kann man
Me!UFO.Form.RecordsetClone.RecordCount > 0
als Filterkriterium im Hauptformular übergeben? Mir ist es nicht gelungen.

Ich würde mich freuen wenn jemand eine Idee zur Lösung schreiben könnte.

Vielen Dank,
Maria Augusta

Nouba
22.03.2006, 12:24
Du kannst die Steuerelementeinhalte der Hauptformularfelder in diesem Fall ändern. Versuche folgendes im UFo-Modul:Private Sub Form_Current()
Dim c As Controll
Dim ShowIt As Boolean

ShowIt = Me.Recordset.RecordCount > 0
With Me.Parent
For Each c in .Controls
If c.ControlType = acTextBox Or
c.ControlType = acComboBox Then
If ShowIt Then
c.ControlSource = c.Tag
Else
c.Tag = c.ControlSource
c.ControlSource = vbNullString
End If
End If
Next c
' .Requery ' auskommentieren, falls sich die Anzeige nicht aktualisiert
End With
End Sub
Ggf. musst Du einmalig beim Laden des Hauptformulars die Tag-/Marke-Eigenschaft der Hauptformular-Steuerelemente setzen.

Maria-Augusta
23.03.2006, 07:40
Hallo Nouba,

vielen Dank für diesen Tipp. Ich mußte Dim c As Control schreiben weil sonst ein Fehler aufläuft. Danach werden die Inhalte der Felder "ausgeblendet". Ist das die Funktion des Codes? Auch nicht schlecht, aber ich dachte eigentlich daran, daß ein Datensatz erst gar nicht angezeigt wird wenn im UFo keine Daten enthalten sind.
Vermutlich gibt es so eine Funktion gar nicht. Dann werde ich wohl das Konzept neu überdenken müssen.

Viele Grüße aus Unterfranken
Maria Augusta