Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: BigFish am Juli 18, 2010, 16:58:26

Titel: Verständnisfrage zu Unterformularen
Beitrag von: BigFish am Juli 18, 2010, 16:58:26
Hallo,

ich bin Access-Anfänger mit SQL- und VBA-Vorkenntnissen(Word, Excel). Momentan kämpfe ich gerade mit den Formularen bei Access.

Wie schaffe ich es, in einem Unterformular nur die Datensätze anzuzeigen, die mit der ID des aktuell im Hauptformular angezeigten Datensatzes übereinstimmen?

Konkret habe ich eine Tabelle "Kunden" und eine Tabelle "Sitzungen". Weiterhin habe ich ein Formular "frm_Kunden" und ein Formular "frm_Sitzungen". Das Formular frm_Sitzungen habe ich in das Formular frm_Kunden gezogen. Wenn ich den Kunden im Hauptformular aufrufe, sollen im Unterformular sämtliche Sitzungen des Kunden erscheinen, aber natürlich keine Sitzungen von anderen Kunden!

Ich habe im Unterformular ja die Möglichkeit, eine SQL-Abfrage als Datenquelle zu generieren oder auf eine separate Abfrage zurückzugreifen. Das nützt mir nur leider nicht viel, da meine SQL-Abfragen stets unabhängige Ergebnisse zurückliefern. Um die Kunden per Kunden_ID mit den dazugehörigen Sitzungen zu verknüpfen(INNER JOIN), fehlt mir der Bezug zur aktuellen Kunden-ID aus dem Hauptformular. Mir fehlt also ein Tipp bzw. die Syntax, wie ich die aktuell im Hauptformular angezeigte Kunden-ID in die Abfrage mit einfließen lasse, damit nur die passenden Datensätze als Ergebnis meiner Unterformular-SQL-Abfrage zurückgegeben werden...ach ja, viele Wege führen bekanntlich nach Rom. Auch so ein Problem bei Access...im Internet lese ich verschiedene Ansätze, mal sei es besser, die Abfragen separat zu speichern und mit dem Formular zu verknüpfen, und mal, dass es besser sei, die Abfrage direkt im Formular zu speichern. Dann gibt es Leute, die meinen, man sollte unbedingt den Assistenten verwenden. Andere schwören auf leere Formulare und das nachträgliche eigenständige "Zusammenklicken".

Ich bin mittlerweile von diesen "Assistenten" und den ganzen im verborgenen ablaufenden Prozessen dermaßen genervt, dass ich lieber einen Weg kennen würde, wie ich mit zwei unabhängig voneinander erstellen Formularen diese Aufgabe lösen kann. Ich würde nur ungern immer wieder Formulare von 0 an neu aufbauen, nur weil ich diesen Weg mal gezeigt bekommen habe.

Vielen Dank&Mfg, BigFish
Titel: Re: Verständnisfrage zu Unterformularen
Beitrag von: MzKlMu am Juli 18, 2010, 18:19:33
Hallo,
ZitatMir fehlt also ein Tipp bzw. die Syntax, wie ich die aktuell im Hauptformular angezeigte Kunden-ID in die Abfrage mit einfließen lasse, damit nur die passenden Datensätze als Ergebnis meiner Unterformular-SQL-Abfrage zurückgegeben werden.
Dazu brauchst Du keine Syntax und keine spezielle (SQL) Abfrage.Das kann Access alles automatisch.
Wenn Hafo und Ufo über die Schlüsselfelder verknüpft sind (Dateneigenschaften Verknüpfen von/nach) geht das alles automatisch.
Daher sollte man immer im Beziehungsfenster die Beziehungen anlegen. Dann arbeitet auch der Assi korrekt. Gerade bei Hafo/Ufo ist der Assi sehr zuverlässig, wenn die entsprechenden, notwendigen Vorraussetzungen geschaffen sind.
ZitatAuch so ein Problem bei Access...im Internet lese ich verschiedene Ansätze, mal sei es besser, die Abfragen separat zu speichern und mit dem Formular zu verknüpfen, und mal, dass es besser sei, die Abfrage direkt im Formular zu speichern.
Wenn es bei sehr vielen datensätzen auf die Geschindigkeit ankommt, ist die gespeicherte Abfrage die beste Wahl. Eine gespeicherte Abfrage leigt fix und fertig zur Abarbeitung vor. Alles andere muss von Access erst kompiliert und mit dem Jet Ablaufplan versehen werden und zwar bei jedem Aufruf. Bei einer gespeicherten Abfrage ist das alles fertig.

PS:
Wenn eine Assi vorhanden ist, verwende ich den. Im Normalfall funktioniert das gut.

Titel: Re: Verständnisfrage zu Unterformularen
Beitrag von: BigFish am Juli 18, 2010, 21:27:46
Hallo,

endlich, ich habe das mit dem Unterformular tatsächlich hinbekommen. Dafür schon mal ein herzliches Dankeschön!  :)
Was mir gerade auffällt: Die Spalten im Unterformular  sind teilweise kürzer als der Inhalt. Da wird einfach der Text abgeschnitten, wie bei einer Textverarbeitung von 1980.
Gibt es da eine Lösung, um die Lesbarkeit zu verbessern? Der Doppelklick zwischen zwei Spalten macht die Spalte leider auch nur so groß wie das Unterformular. Ich hatte gehofft, dass sich die Spalte wie bei Excel der breitesten Zeile anpasst und eine Scrollbar eingeblendet wird.

Mfg, BigFish
Titel: Re: Verständnisfrage zu Unterformularen
Beitrag von: Dorian am Juli 19, 2010, 22:23:22
Hallo!

Meinst Du die "Felder" nicht die Spalten? (Endlosformular)

Du kannst die Felder unter "Format" auf "Vergrößerbar" stellen. Dann machen sie eine größere Zeile wenn nötig so das der gesamte Text zu lesen ist.

Dorian