Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Filter auf Unterformular

Begonnen von Hotze3000, Januar 18, 2018, 09:24:57

⏪ vorheriges - nächstes ⏩

Hotze3000

Hallo,

habe folgenden Filter
Private Sub Form_Current()
    Me.Filter = "[ID] LIKE '" & Forms!frmTR!cmbOrt & "' AND [Projekt] LIKE '" & Forms!frmTR!cmbstraße & "' "
    Me.FilterOn = True
End Sub


auf mehrere Ufos welchen nach Auswahl in einem cmb ein Requery erhalten. Auf einem Ufo funktioniert der Filter automatisch. Auf den anderen muss ich nochmal auf Gefiltert in der Navigationsschaltfläche klicken.

bahasu

Hi,

1. warum stehen diese Anweisungen im Ereignis "Beim Anzeigen" und nicht bei "Nach Aktualisierung" vom "cmb"-Feld?

2. Warum verwendest Du "like", wenn keine Wildcards vorgegeben sind? Hier sollte auch "=" zum Ziel führen.

3. Musst du wirklich mit "Forms" arbeiten oder ist auch ein "Me." einsetzbar?

Harald
Servus

Hotze3000

Danke Harald,

wenn der Filter bei "Nach Aktualisierung" vom "cmb"- Feld steht wie funktioniert da die Zuordnung zu den einzelnen Ufos?
Wie sollte der Code aussehen?

bahasu

Hi,

unter der Annahme, dass Dein cmb-Feld im Hauptformular steht und dass es im Hauptformular ein oder mehrere Unterformulare gibt:

Me.DeinUnterformular.Form.Filter = ....
oder ggf. bei mehreren Stufen von UFO's
Me.DeinUnterformular.DeinUnterUnterformular.Form.Filter = ....

Ohne Detailangaben stochere ich ein wenig im Nebel rum.

Harald
Servus

Hotze3000

Hallo,

im Moment sieht es so aus unter dem cmb
Private Sub cmbOrt_AfterUpdate()
    Me.cmbstraße.Requery
    Me.cmbstraße.SetFocus
    Me.cmbstraße.Dropdown
    Me.sfmeich.Requery
    Me.sfmeichre.Requery
    Me.sfmeichstd.Requery
End Sub

und die Filter wie gesagt in den Ufos

Beaker s.a.

Kleine Korrektur, wenn's erlaubt ist.
ZitatMe.DeinUnterformular.Form.DeinUnterUnterformular.Form. Filter = ....

@Hotze
Zum besseren Verständnis liest du vielleicht noch dieses:
http://www.donkarl.com?FAQ4.2
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

bahasu

Hi,

Private Sub cmbOrt_AfterUpdate()
     'was haben die folgenden Anweisungen mit dem Unterformular-Filter zu tun?
    Me.cmbstraße.Requery
    Me.cmbstraße.SetFocus
    Me.cmbstraße.Dropdown
    Me.sfmeich.Requery
    Me.sfmeichre.Requery
    Me.sfmeichstd.Requery


   Me.DeinUnterformular.Form.Filter = .... 'deine Bedingungen
   Me.DeinUnterformular.Form.FilterOn = True
   Me.DeinUnterformular.Form.Requery
End Sub

Ohne Details zum Formular-Aufbau, stochere ich weiter im Nebel rum.

Harald
Servus

Hotze3000

#7
Zitat von: bahasu am Januar 18, 2018, 11:29:43Private Sub cmbOrt_AfterUpdate()
     'was haben die folgenden Anweisungen mit dem Unterformular-Filter zu tun?
    Me.cmbstraße.Requery
    Me.cmbstraße.SetFocus
    Me.cmbstraße.Dropdown
    Me.sfmeich.Requery
    Me.sfmeichre.Requery
    Me.sfmeichstd.Requery
Ich habe ein HauptFormular. Darauf ein Registersteuerelement mit sieben Registern. Auf jeder Registerseite zwei abhängige cmb's
cmbOrt und cmbStraße. Darunter jeweils drei Ufos angeordnet welche mit der Auswahl in den cmb's gefiltert werden. 

bahasu

Hi,

kannst Du die Datenbank in abgespeckter Form mit einigen wenigen Spieldaten zur Verfügung stellen?
Komprimieren und dann als zip-Datei hier einstellen.
Am liebsten im access2003-Format.

Harald
Servus

Hotze3000

#9
Hallo Harald,

hier mal eine zip der Datenbank etwas abgespeckt.

Stephan

Beaker s.a.

Hallo Hotze,
Es ist für Access auch schwierig auf den Inhalt eines Feldes zu filtern, dass
es nicht gibt
ZitatMe.Filter = "[Projekt] LIKE '" & Forms!frmTR!cmbOrt2 & "' "
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Lachtaube

Mein erster Eindruck: hier hat man einfach eine handvoll Excel-Blätter in Tabellen überführt und glaubt nun, was in Excel gut funktioniert (oder auch nicht) hat, wird ja in Access mindestens genauso gut funktionieren. Da bist Du schief gewickelt.

Der Name der Datenbank gibt etwas von Bestand vor, vorzufinden ist davon nichts. Weiterhin scheint es verstreute Projekte in Ortschaften zu geben, die man schön breit über einzelne Tabellen verteilt. Dadurch lassen sich keine referentiellen Beziehungen mehr zwischen Rechnungen und Mitarbeiterstunden herstellen.

Projekte gehören in eine Tabelle. Aufgaben bzw. Leistungen eines Projekts in eine untergeordnete Tabelle. Mitarbeiter gehören in eine eigene Tabelle. Rechnungen, Zahlungseingäönge, Mahnungen wird man in der Praxis bestimmt auch subtiler behandeln als in Deiner Darstellung - vor allem auch dann, wenn sich 8 Stellen vor dem Komma befinden (ich habe keine Ahnung, ob das realistische Beträge sind).

Mein Tipp: erstelle die Datenbank von Grund auf neu (zuerst einmal nur die Tabellen) und beachte dabei die Regeln der Normalform. Wenn Du dann hier mitteilst, welche Objekt wie untereinander agieren bzw. in Beziehung stehen, erhältst Du bestimmt auch Hinweise zur Gestaltung. Ist das Tabellengerüst standhaft (und nicht vorher), wird man sich an Anfragen, Formular- und Berichtsgestaltung machen.
Grüße von der (⌒▽⌒)