Unterformular alphabetisch sortieren - keine Eingabe möglich

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

bassman
**
Beiträge: 40
Registriert: Do, 25.02.2010 18:00

Unterformular alphabetisch sortieren - keine Eingabe möglich

Beitrag von bassman »

Hallo,

ich habe eine Vereinsdatenbank, in der die Mitglieder über ein Hauptformular und deren Sportarten über ein Unterformular eingegeben werden sollen (1:n Beziehung). Um die Eingabe zu erleichtern sollen die Sportarten in dem UF über ein Listenfeld ausgewählt werden können. Soweit funktioniert alles.

Nun möchte ich aber, dass die Sportarten im UF, die ein Mitglied betreibt, alphabetisch angezeigt werden. Wenn ich die Abfrage des UF dahingehend ändere, dann bekomme ich zwar die richtige Reihenfolge, kann ich allerdings keine Datensätze mehr eingeben oder ändern. Das Listenfeld erscheint dann auch nicht mehr.

Wie bekomme ich das hin?

Zum besseren Verständnis habe ich die Datenbank angehängt.

Vielen Dank und Gruß
Dateianhänge
verein_OOF.odb
(129.99 KiB) 86-mal heruntergeladen
RobertG
********
Beiträge: 2066
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular alphabetisch sortieren - keine Eingabe mög

Beitrag von RobertG »

Hallo bassmann,

lass das Unterformular auf eine Abfrage zugreifen, die die Sportarten beinhaltet und editierbar ist:

Code: Alles auswählen

SELECT "Zuordnung: Mitglieder-Sportart"."Mitglieds_Nr", "Zuordnung: Mitglieder-Sportart"."Sport_Nr", "Sportart"."Sport_ID", "Sportart"."Sportart" FROM "Zuordnung: Mitglieder-Sportart", "Sportart" WHERE "Zuordnung: Mitglieder-Sportart"."Sport_Nr" = "Sportart"."Sport_ID" ORDER BY "Sportart"."Sportart" ASC
Editierbare Abfragen müssen immer alle Primärschlüssel der in ihnen enthaltenen Tabellen aufführen.
Bindest Du die obige Abfrage ein und änderst sonst nichts, dann klappt das Sortieren. Du kannst natürlich auch die Sortieranweisung zum Feld "Sportart" im Formular selbst vornehmen.
Die eingebundene Tabelle kannst Du nicht nach der Sportart sortieren, da die Sportart selbst ja gar nicht verzeichnet ist.

Gruß

Robert
bassman
**
Beiträge: 40
Registriert: Do, 25.02.2010 18:00

Re: Unterformular alphabetisch sortieren - keine Eingabe mög

Beitrag von bassman »

Hallo vielen Dank für deine Hilfe. Hat erst mal geklappt. Ich kann Daten eingeben und die Datensätze werden auch sortiert. Allerdings habe ich jetzt das Problem, dass ich eine bestehende Sportart in dem Unterformular nicht ändern kann, z.B. ein Mitglied, das Fußball spielt, macht stattdessen Judo. Ich bekomme immer die Fehlermeldung "Fehler beim Schreiben des aktuellen Datensatzes".

Was muss ich nöch ändern?

Vielen Dank und Gruß
Dateianhänge
verein_OOF.odb
(130.45 KiB) 80-mal heruntergeladen
RobertG
********
Beiträge: 2066
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular alphabetisch sortieren - keine Eingabe mög

Beitrag von RobertG »

Hallo Bassmann,

das hat seinen Haken darin, dass Du genau das Ändern willst, was für die Abfrage der Verbindungsschlüssel zwischen zwei Tabellen ist. Mach' es folgendermaßen:

Code: Alles auswählen

SELECT "a".*, (SELECT "Sportart" FROM "Sportart" WHERE "Sport_ID" = "a"."Sport_Nr") AS "Sportart" FROM "Zuordnung: Mitglieder-Sportart" AS "a"
Dann wird die Sportart über die korrelierende Unterabfrage abgerufen und die Sport_Nr bleibt wirklich editierbar (nicht nur zum Schein, wie es der Cursor in der Zeile der Abfrage suggeriert).

Gruß

Robert
bassman
**
Beiträge: 40
Registriert: Do, 25.02.2010 18:00

Re: Unterformular alphabetisch sortieren - keine Eingabe mög

Beitrag von bassman »

Hallo, vielen Dank für deine Hilfe. Ich hab verstanden, wie das funktioniert. schade, dass das so kompliziert ist. ich muss das thema an meiner schule unterrichten und meine schüler sind eigentlich die hier doch etwas komfortable methodik von "access" gewohnt.

gruß
RobertG
********
Beiträge: 2066
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Unterformular alphabetisch sortieren - keine Eingabe mög

Beitrag von RobertG »

Hallo Bassmann,

in der Schule würde ich weniger Wert auf das Sortieren legen. Wenn ich es unbedingt haben wollte, dann würde ich die Sortierung der Sportarten mit den Primärschlüsseln regeln. Schließlich müssen Schlüssel nicht immer automatisch hochzählende Zahlenfelder sein.
Die Abfragetechnik der korrelierenden Unterabfrage macht aber in der Schule an anderen Stellen sehr wohl Sinn. So können nämlich locker während der Eingabe Zwischensummen o.ä. gebildet werden. Eine solche Abfragetechnik nur wegen des Sortierens einzuführen ist allerdings deutlich über das Ziel hinaus geschossen - weil es eben auch einfacher geht.
Mein Schulbeispiel ist da etwas anders gestrickt: Einfache Rechnungsdatenbank, erst einmal als Tabellenkalkulation beginnend, dann wegen der immer gleichen Wareneingabe auf eine Datenbank ausweichend. Da bekommen dann auch solche korrelativen Unterabfragen einen Sinn.

Gruß

Robert
Antworten