Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: AccessManiaNewbie am Februar 16, 2017, 21:18:24

Titel: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: AccessManiaNewbie am Februar 16, 2017, 21:18:24
Hallo zusammen,

als blutiger Einteiger versuche ich mich in Access 2010 und habe folgendes Problem: Ich möchte gerne eine Datenbank "entwickeln", die die Vermögen meines kleinen Vereins bei den Banken abbilden soll. Da komme ich nicht so richtig weiter im Bereich Formulare...

Vorab - zur Info

Annahmen: Der Verein hat diverse Vermögen, die jeweils bei einer oder mehreren Banken liegt / liegen. Diese Banken haben verschiedene Mitarbeiter, die für die unterschiedlichen Vermögen des Vereins zuständig sind.

Ziel:

In der Datenbank soll dann ein Vermögen auf einem "Formular" angezeigt werden.
Das Hauptformular zeigt den Namen des Vermögens und spätere weitere Details.
Das Unterformular 1 zeigt die jeweiligen Banken angezeigt.
Das Unterformular 2 zeigt in Abhängigkeit von der Bank in Unterformular 2 die zuständigen Mitarbeiter der Bank an.

Mein Datenbankmodell:

1 Vermögen hat n Banken
n Vermögen sind bei 1 Bank
1 Bank hat n zuständige Mitarbeiter
1 Mitarbeiter ist in 1 Bank
1 Mitarbeiter einer Bank kann für n Vermögen der Ansprechpartner sein


Folgende Tabellen habe ich erstellt:

tblVermögen
hier sind die Vermögenswerte des Vereins aufgeführt
als Beispiel: Verm_A1; Verm_A2; usw.
Primärschlüssel: VerID (Autowert)

tblUnternehmen
Hier sind die Unternehmen aufgelistet, die das jeweiligen Vereinsvermögen verwalten
Als Beispiel: Firma A 01; Firma A 02
Primärschlüssel: UntID (Autowert)

tblMitarbeiter
hier sind die Mitarbeiter der Banken, die Personendaten der Ansprechpartner, aufgeführt
und ein Nachschlagefeld wo Mitarbeiter dem Unternehmen zugeordnet werden kann
Als Beispiel:
Mitarbeiter 1     MitarbeiterName: A01_MA         Firma (über Nachschlagefeld): Firma A 01
Mitarbeiter 2     MitarbeiterName: A02_MA         Firma (über Nachschlagefeld): Firma A 02
Primarschlüssel: MitID (Autowert)
Nachschlagefeld Fremdschlüssel: Mit_ref_UntID (verweist auf die tblUnternehmen, den Primärschlüssel UntID)

Um diese Tabellen miteinander zu verknüpfen habe ich eine Zuordnungstablle erstellt, in der die VerID der UntID und der MitID zugewiesen wird.

Ich bin nun gerade bei  den ersten Versuchen der Formulare: Hauptformular aus tblVermögen erstellt Im HFO können dann durch das Klicken in der Navigationsleiste die Vermögen "nacheinander" durchgeklickt werden.

UFO 1:
Im HFO ein Unterformular für die Abfrage der Unternehmen eines Vereinsvermögens.
Datenherkunft - Abfrage (aus der Abfrage tblZuordnung, alphabetisch aufsteigend, und tblUnternehmen)
Beinhaltet alle Datensätze, die gleich sind... Verknüpfung ist die UntID (Primärschlüssel in tblUnternehmen, Fremdschlüssel in tblZuordnung), in der Abfrage wird die VerID (als Fremdschlüssel mitgeleifert, diese verknüpft UFO1 mit dem HFO).
Abfrage in das HFO hingezogen und das UFO wurde erstellt.

UFO2:
Im HFO ein weiteres Unterformular für die Abfrage der Mitarbeiter der Unternehmen eines Vereinsvermögens.
Datenherkunft - Abfrage (aus tblVermoegen wird die VerID über die Abfrage tblZuordnung dem Unternehmen via Unt ID und dem MA mit MitID)
Weitere Abfrage in das HFO hingezogen und das UFO wurde erstellt.

Beide UFOs sind in der EinzelformularAnsicht.

Problem:

Zeigt ein Vermögen nur eine Bank ist im HFO alles ok
UFO 1 zeigt 1 Bank an.
UFO 2 zeigt alle MA der Bank für dieses 1 Vermögen an.

UFO 1 zeigt 2 Banken an (sprich Navigationsleiste zeigt 1 von 2).
UFO 2 zeigt alle MA beider Banken für dieses 1 Vermögen an.
Ich möchte aber nur die Anzeige / Auswahl der MA der jeweils im UFO 1 gerade dargestellten Bank

Ich habe in der Abfrage für das UFO2 auch die entsprechenden Kriterien hinterlegen können.

Wenn ich das UFO2 bzw. die Abfrage eigenständig geöffnet ist und im Menüband "Alle Aktualisieren", dann werden im seperat geöffneten UFO2 nur die Mitarbeiter der im UFO1 gewählten Bank gezeigt - Aber: Im Hauptformular hingegen tut sich nichts, dass dort eingebettete UFO2 zeigt alle Mitarbeiter an (und nicht die der vorher gewählten Bank).

Ich habe im Eigenschaftenblatt Ereignisse (kein VBA, sondern in der Entwurfsansicht über das Eigenschaftenblatt den Makro-Generator, wo man verschiedene Aktionen auswählen kann) - u. a. "Aktualisieren" bei den verschiedensten Ereignissen probiert - aber weder für das HFO noch das UFO1 oder UFO2 beim Anzeigen oder vor bzw. nach Aktualisierung bringen eine Aktualisierung des UFO2.

Wie erreiche ich nun ein "Alle aktualisieren", sprich dass das im HFO das UFO2 nur die MA der dort zuvor ausgewählten "Bank" ausweist?

Vielen Dank für jede Hilfe!

Titel: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: MzKlMu am Februar 16, 2017, 23:36:34
Hallo,
zunächst hast Du mal eine Beziehung zu viel. Hast Du einen Mitarbeiter in der Zuordnung, hast Du automatisch auch das Unternehmen, denn der MA gehört zu einem solchen. Damit vereinfacht sich auch das Unterformular.

Dringender Rat:
Verwende unter keinen Umständen Nachschlagefelder in den Tabelle, diese Felder sind ein ganz typischer Anfängerfehler, weil vermeintlich einfach. Aber das Gegenteil ist der Fall, alles wird verkompliziert. Bitte alle wieder in normale Felder umwandeln.
Nachschlagefelder (Kombinationsfelder) sind nur in Formularen sinnvoll und erfüllen dort ohne Einschränkung die gleiche Funktionalität.
Siehe hierzu:
http://dbwiki.net/wiki/Access_Anf%C3%A4nger:_Die_Nachteile_von_Nachschlagefeldern

Ändere das mal bitte, dann postest Du für morgen mal ein neues Beziehungsbild und beschreibst dann noch Dein Problem, wenn es das noch gibt. Heute mache ich Feierabend.

PS:
Und von Makros musst Du Dich auch verabschieden, in Foren läuft alles über VBA. Makros will kein Mensch und Hilfe zu Makros wirst Du daher keine bekommen.
Titel: Re: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: AccessManiaNewbie am Februar 17, 2017, 08:56:43
Hallo,

vielen Dank für die Hilfe. Ich habe nun das DB-Modell geändert. Alle Nachschlagefelder sind entfernt und durch Werte ersetzt. Bild anbei.

Annahmen bei meinem DB-Modell:

1 Vereinsvermögen kann n Mitarbeiter bei Banken / Unternehmen haben
n Vereinsvermögen können bei 1 Bank sein

1 Mitarbeiter ist bei 1 Bank / Unternehmen angestellt
n Mitarbeiter können bei einer Bank / Unternehmen angestellt sein

Aber das Problem besteht weiterhin:

Das HFO bezieht sich auf Tabelle Vermögen.

Im HFO (Einzelnes Formular je Vermögen):
UFO01
- soll die Banken (Unternehmen) anzeigen, wo das Vermögen liegt
- soll das in Ansicht Einzelnes Formular anzeigen
- werden nacheinander durchgeklickt per Navigationsleiste

UFO02
- soll die die Mitarbeiter der Bank anzeigen, die in UFO01 gerade in der Einzelnen-Formular-Ansicht ausgewiesen wird.

Es funktioniert HFO:
UFO01 eine Bank
UFO02 alle Mitarbeiter einer Bank

Es funktioniert nicht im HFO:
UFO01 zwei Banken gesamt, Anzeige des 2. Datensatzes (also Bank 2)
UFO02 zeigt weiterhin Mitarbeiter Bank 1 an, soll aber nur anzeigen Mitarbeiter der in UFO01 angezeigten Bank (sprich die der Bank 2)

Öffne ich das UFO02 bzw die Abfrage für die Daten des UFO02 seperat und wähle im UFO01 einen anderen Datensatz, zeigen UFO02 bzw. die Abfrage nur nach drücken "Alle Aktualisieren" im Menüband das richtige Ergebnis.

Wie kann ich nun im HFO das UFO02 dazu bringen, das "Alle Aktualisieren" nach klicken der Navigationsschaltfläche im UFO01 ausgelöst wird?

Viele Grüße



Titel: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: MzKlMu am Februar 17, 2017, 13:18:18
Hallo,
im Anhang findest Du mal eine mögliche Umsetzung. Eigentlich sollte das eine Ufo reichen. Hier siehst Du den Mitarbeiter und das Unternehmen.
Titel: Re: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: AccessManiaNewbie am Februar 17, 2017, 13:44:26
Vielen Dank für deine Datenbank  :)

Bei "meiner" Variante - hast du da eine Idee, wie das UFO 2 zu aktualisieren ist? Sprich die Abfrage und das Formular mit den "richtigen Daten" erneut zu laden?
Titel: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: MzKlMu am Februar 17, 2017, 16:15:57
Hallo,
in dem jetzigen Ufo aus meinem Vorschlag ist doch alles zu entnehmen. Sowohl der Mitarbeiter als auch das Unternehmen.

Ich verstehe nicht ganz was Du im Ufo 2 darstellen willst.
Wo siehst Du da einen Informationsgewinn ?
Titel: Re: Totaler Anfänger - Problem mit Aktualisierung ...
Beitrag von: Beaker s.a. am Februar 17, 2017, 17:41:32
Hallo,
Obwohl ich annehmen kann, dass Klaus' Vorschlag kein Unfug ist  ;)(hab's mir
nicht angeschaut), will ich dir aber trotzdem noch deine konkrete Frage
beantworten.
Du brauchst dazu drei Prozeduren.
1. für das Ereignis "Beim Anzeigen" des HFo
Private Sub Form_Current()
    If Me.NewRecord = False Then
        Me!NameUFo2Control.Form.Requery
    End If
End Sub

2. für das Ereignis "Nach Aktualisierung" für das HFo
Private Sub Form_Current()
    Me!NameUFo2Control.Form.Requery
End Sub


3. für das Ereignis "Nach Aktualisierung" für das UFo1
Private Sub Form_AfterUpdate()
    Me.Parent!NameUFo2Control.Form.Requery
End Sub

Falls du mit den Bezügen zum UFo nicht klar kommst, schaust du hier:
http://www.donkarl.com?FAQ4.2 (http://www.donkarl.com?FAQ4.2)

gruss ekkehard
Titel: Totaler Anfänger - Problem mit Aktualisierung Abfrage und UFO aufgrund Auswahl.
Beitrag von: MzKlMu am Februar 17, 2017, 18:46:34
Hallo,
es ist unfair einfach ohne weitere Antworten in einem anderen Forum weiter zu machen. Außerdem verstößt es gegen die Forenregeln.
http://www.office-loesung.de/p/viewtopic.php?f=167&t=732946