Access Kombinationsfeld nach Auswahl filtern

Hallo liebe Datenbankfreunde,

ich bin dabei eine Datenbank zu erstellen, in welche die Mitarbeiter einer Firma zu einem jeweiligen Projekt ihre geleistet Arbeit eintragen.

Das ganze soll teilweise mit Kombinationsfeldern funktionieren, d.h der Mitarbeiter gibt seine Mitarbeiter-Id ein und bekommt im darauf folgenden Kombinationsfeld nun nurnoch eine Auswahl an Projektennummern angezeigt, für die er wirklich zugeteilt ist.
Ein weiteres Listenfeld soll danach die Arbeitsschritte anzeigen, die der jeweilige Mitarbeiter in diesem Projekt ausführen kann.

Es soll also nach und nach zu einer Filterung kommen.
Habe mir schon die Finger blutig gegoogelt und (eigentlich) auch eine Lösunge gefunden.

Auf mehreren Seiten ist etwas in dieser Form zu lesen:

Private Sub Angvon_AfterUpdate()
Me.Filter = „angvon=“ & Me!ang_von
Me.FilterOn = True
End Sub

Leider steht nirgendswo beschrieben, was mit diesem Text denn gemacht werden soll.
Da ich heute erst meinen zweiten Tag mit Access arbeite, würde ich gern wissen wo dieser Datensatz denn „rein“ soll, bzw. was mir dieser eigentlich aussagt.

Mfg Simon

Moin Moin,

ok, fangen wir mal mit der wichtigsten Aktion an:
Hier im Forum gibt es extra ein Brett für Access, dort sollte dein Beitrag stehen.

Bitte den Moderator deinen Beitrag zu verschieben.

Grüße aus Rostock
Wolfgang
(Netwolf)

Moin, Simon,

Private Sub Angvon_AfterUpdate()
Me.Filter = „angvon=“ & Me!ang_von
Me.FilterOn = True
End Sub

Leider steht nirgendswo beschrieben, was mit diesem Text denn
gemacht werden soll.

xyz _AfterUpdate ist eine Prozedur, die von Access angesteuert wird, wenn das Feld xyz das Ereignis AfterUpdate „erlitten“ hat. Schau in der Access-Hilfe unter „Ereignisse“ nach, dort ist das besser und ausführlicher beschrieben.

Im VBA-Editor (Extras > Makro > Editor oder Alt+F11) siehst Du alle Felder zum Formular im linken Teilbild, im rechten können die dazu passenden Ereignisse ausgewählt werden. Im Teibild darunter wird von Dir der zugehörige Code eingetragen.

Gruß Ralf

Zunächst Danke für die Antwort Ralf.

Leider finde ich unter „Ereignisse“ in der Accesshilfe nicht die passende Erklärung.
Liegt möglicherweise an der Version(2010).

Muss ich den Code denn nun in das Ereignisfeld eintragen, welches die aktualisieren Werte haben soll?

Mein zu aktualisiertes Feld heißt „Kombinationsfeld45“.
Müsste der Code dann so heißen:

Private Sub Kombinationsfeld45_AfterUpdate()
Me.Filter = „Kombinationsfeld45=“ & Me!Kombinationsfeld45
Me.FilterOn = True
End Sub

?

Hier einmal meine Datenbank:
http://www64.zippyshare.com/v/47307404/file.html

Im Formular Input_data ist das Feld „Vorgang“ welches es zu filtern gilt.
Es ergibt sich aus der Projektnummer, dem Experten, der PSP-Nummer und der Site.
D.h. nach Eingabe dieser Werte kann unter der Vorgangsnummer nurnoch eine Nummer(die Richtige) stehen bleiben.

Mir is klar, dass es nicht einfach ist, sich in einen fremede Datenbank einzudenken. Jedoche wäre es super, wenn sich jemand dieser antuen wuerde.

Mfg Simon

Moin, Simon,

ich fürchte, Du wirst um professionelle Hilfe nicht herumkommen. Oder Du bemühst Dich um die Grundlagen :frowning:

Gefiltert werden nicht einzelne Datenfelder, sondern die Menge der Sätze, die im Formular angezeigt werden. Diese Menge kann eingeschränkt werden, indem zB alle Sätze angezeigt werden, die die gewählte Vorgangsnummer enthalten (oder wonach halt gefiltert werden soll).

Leider erkenne ich in der Datenbank keine Struktur, dazu bräuchte es Beziehungen. Es ist nicht hilfreich, eine Struktur namens Input_data zu erfinden, die dann als flat file alles enthält, was irgendwo von Belang ist, damit stellt man den Sinn einer relationalen Datenbank auf den Kopf.

In der Brettbeschreibung sollten Links auf Seiten zu finden sein, in denen Begriffe wie Datenbank und Relation erklärt sind. Du wirst nicht drum herumkommen, Dich da einzulesen.

Gruß Ralf