Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Ich suche nach Hilfe beim Design von Tabellen / Forumularen

Begonnen von dh1sbg, März 24, 2012, 06:10:51

⏪ vorheriges - nächstes ⏩

dh1sbg

Hallo!

ich möcht in einer Tabelle eine Zuordnung der Datensätze zu verschiedenen Spalten realisieren.



InhaltSpalte1Spalte2Spalte n
LaufenokSpalte n
Spazierenokokn

Also eine Matrix, bei der ich pro Zeile sagen kann, ob etwas ok oder nicht ok ist.

Bis jetzt habe ich das so realisiert, dass ich in einer Tabelle mehrere Felder (Spalte 1 bis Spalte 4) als Ja-Nein Felder definiert habe.

Vorteil: Ich kann sehr einfach mit dem Formular-Assistenten das Formular aufbauen
Nachteil: Erweiterungen sind nicht so schön möglich und ich verstosse hier auch gegen die Normierungen.

Bei dem Versuch, eine n:m Tabelle aufzubauen stosse ich auf eine Komplexität, die ich nicht so einfach im Formlar abbilden kann.

Gibt es da einen anderen Lösungsansatz?

Vielen Dank für jede Hilfe

Bruno

MzKlMu

Hallo,
n:m wäre richtig, von Ja/Nein Feldern würde ich Dir dringend abraten.
ZitatBei dem Versuch, eine n:m Tabelle aufzubauen stosse ich auf eine Komplexität,
Zeige/erkläre Deinen Versuch. n:m Beziehungen lassen sehr einfach mit einem Hauptformular (1-Seite) und einem Unterformular (n-Seite) verwalten.
Gruß Klaus

dh1sbg

#2
Das stimmt - nur wäre bei mir die N-M Beziehung im Unterformular, weil im Hauptformular eine ander Beziehung besteht.

Haupt-Tabelle
   1.n:m Tabelle
        Sport (siehe oben)
          2. n:m Tabelle
             Spalten


Ich habe also zur Zeit in dem Formular
   Haupt-Tabelle
darin das Unterformular Sport
   mit den Feldern S1 bis S4.

Käme eine weitere n:m Tabelle hinzu (2. n:m Tabelle) dann wird es lustig.

database

Hallo,

Zitatin einer Tabelle eine Zuordnung der Datensätze zu verschiedenen Spalten realisieren
In einer Datenbank bestehen Tabellen aus Spalten und Zeilen, wobei die Zeilen die eigentlichen Datensätze darstellen.
Deine Darstellung läßt mich vermuten, dass du in deinem Themenumfeld irgend eine Aufzeichnung mit Excel vorliegen hast und nun eine DB daraus basteln willst.

ZitatBei dem Versuch, eine n:m Tabelle aufzubauen
Es gibt n:m BEZIEHUNGEN jedoch keine selbigen Tabellen, lediglich Tabellen die eine solche Beziehung auflösen.

Es wäre ganz und gar hilfreich, wenn du uns nähere Informationen dazu gibst was du da abbilden willst.
Vielleicht ein kurze Beschreibung, was die DB leisten soll - so wäre es sicher einfacher dein Vorhaben zu verstehen und dir entsprechende Hilfestellung zu geben.

Die Darstellung deiner vorhandenen Tabelle zum Anlass nehmend:


ID    Laufen    Spazieren    blabla
1       OK
2       OK          OK
3                   OK          OK
4       ...............



.... wobei hierbei auch der Aufbau des Datenmodells von der darzustellenden Thematik abhängig ist.

MzKlMu

Hallo,
erkläre doch mal genau was Du machen willst.
Sport Personen zuordnen?
Oder was sonst.

In keinem Fall sind aber 4 Felder S1-S4 erforderlich.
Gruß Klaus

dh1sbg

#5
Hallo

Aus Gründen von Verschwiegenheitspflichten darf ich das originale Problem hier nicht zeigen. Deshalb habe ich das auf den Sport als Analogie verlegt - das Prinzip ist das Gleichte. Ich bitte das auch zu entschuldigen.

Wir haben eine Haupttabelle mit Personen
Eine weitere mit Sportarten.
Eine 1.n:m Tabelle: Wer_Sportarten ordnet die Personen den Sportarten zu.

Das Formular Wer-Sportarten besteht aus einem Hauptformular mit den Personen und einem Unterformular mit den Sportarten. Soweit so klar.

Nun soll jeder Person und jeder Sportart Attribute hinzugefügt werden (ich habe sie oben Spalten genannt):

Anfänger - Fortgeschrittener - Ausdauersport - 1 mal pro Woche - 2 mal pro Woche - Diabetiker - Senjor etc etc (Ja ich weiss, das diese Beschreibungen in dem Beispiel etwas doof sind) Akzeptieren wir in diesem Beispiel, dass

Eine Person pro Sportart z.B. Anfänger UND 1 mal pro Woche trainiert und Senjor ist, also die Attribute Anfänger, 1 mal pro Woche und Senjor gesetzt werden sollen.

Das könnte in Check-Boxen auf dem Unterformular geschehen, wobei die Checkboxen die Werte 2,4,8,16,32 haben könnten und es in der Datenbank ein Feld gäbe: Attribut (Zahl). Analog der MSGBOX, dort die Buttons.

Im Unterformular müsste ich dann per Events die Checkboxen füllen bzw bei Änderungen das Attribut-Feld der Datenbank auf Vordermann bringen.

Soweit so klar`?

Ich suche nach einer eleganteren Möglichkeit - weil die Atribute im Augenblick auf 4 begrenzt sind (in unserem Beispiel also Anfänger - Fortgeschrittener - Ausdauersport - 1 mal pro Woche), mir aber diese Lösung nicht gefällt - u.a. wegen Verstoss der Normierung.

Datenbanktechnisch wäre eine Lösung:

Wir haben eine Haupttabelle mit Personen
Eine weitere mit Sportarten.
Eine 1.n:m Tabelle: Wer_Sportarten ordnet die Personen den Sportarten zu.
eine weitere n:m Tabelle ordnet pro Person und Sportart die Attribute zu.

Ich bin noch lösungsoffen: Es soll aber auf jeden Fall pro Sportart eine Anzahl von Checkboxen in einem Datensatz im Unterformular sichtbar sein - ggf gibt es aber eine bessere Lösung?

Grüsse
Bruno

MzKlMu

Hallo,
in das Ufo muss die Zwischentabelle (Wer_Sportarten), nicht die Sportarten. Die Sportarten werden mit einem Kombi aus dieser Tabelle gewählt und der Primärschlüssel in der n:m Tabelle (Wer_Sportarten)  gespeichert. In diese Wer_Sportarten kommt noch eine Feld für die Häufigkeit.
Für jede Spaortart und jede Person gibt es ein Datensatz. Also 4 Sportarten = 4 Datensätze zu dieser Person aber nicht 4 Felder S1-S4.
Zitateine weitere n:m Tabelle ordnet pro Person und Sportart die Attribute zu.
Die 2. n:m Tabelle ist überflüssig. Das Atribut gehört in die 1. n:m Tabelle, es gibt ja für jede Sportart nur ein Datensatz, da kannst Du noch beliebige Atribute definieren.

ZitatCheckboxen die Werte 2,4,8,16,32
Was willst Du denn mit diesen Zahlenwerten erreichen?
Gruß Klaus

DF6GL

Hallo,

unabhängig von den geschilderten  Datenbeziehungen hilft vielleicht ja dieses Beispiel:

http://www.office-loesung.de/download.php?id=57107

wie man mit variabler Anzahl von Attributen in einer DB umgehen kann.   


Grundsätzlich beißt sich eine "horizontale" Darstellung von "vertikalen" Daten(sätzen).  In diesem Fall müssen für ALLE möglichen Spalten je ein Anzeigefeld (ob KK oder Textfeld oder sonstwas) latent vorgesehen werden und je nach Datenkonstellation sichtbar/unsichtbar gesetzt werden.  In einem Endlos-Form birgt das zusätzliche Hindernisse, weil dort keine datensatz-bezogene Aus-Einblendung von Feldern möglich ist.


73 de df6gl
Franz
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access