Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Mehrwertige Felder mit echten m:n-Tabellen
zurück: Minidatenbank, Type-Definitionen und Objekte speichern weiter: Tabellenverbindungsmanager / BE Komprimieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Information Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
07. Jan 2011, 21:28
Rufname:

Mehrwertige Felder mit echten m:n-Tabellen - Mehrwertige Felder mit echten m:n-Tabellen

Nach oben
       Version: Office 2007

Hallo,

bekannterweise sind mehrwertige Felder ja die neueste Datenbankvergewaltigung seit Access 2007. Dabei kann man mit einem Miniformular einzelne Werte über Checkboxen auswählen und erhält als Ergebnis ein Feld, in dem die Feldwerte z.B. per Semikolon getrennt dargestellt werden.
Intern verwendet Access dazu die Systemtabellen, um doch wieder eine m:n-Verknüpfung aufzubauen um dieses wilde Konstrukt hinzubekommen, allerdings hat man später beim Abfragen einiges an Mehrarbeit, wenn man mit solchen Feldern arbeiten möchte.

Die Idee an sich ist dabei gar nicht so übel, aber man kann es auch über den regulären Weg erledigen, über eine echte m:n-Tabellenbeziehung. Das angehängte Beispiel verwendet dazu eine Klasse, mit der man die mehrwertigen Felder mit einer solchen herkömmlichen m:n-Verbindung simulieren kann. Dabei hat man außerdem noch den Vorteil, daß man mehr als eine Spalte anzeigen lassen kann, jede Spalte kann eine individuelle Schriftfarbe haben und optional in Fettschrift angezeigt werden.

Hierzu wird ein ActiveX ListView Element verwendet, das man in "frmSelection" findet und das man dort natürlich auch noch an eigene Wünsche anpassen kann. Ein ListView-Control hat den Vorteil, daß es eine Checkbox als erste Spalte anzeigen kann, damit ist sie ideal für den Zweck geeignet (sofern die Nachschlagetabelle nicht gleich tausende Einträge hat).

Die Klasse ist so gestaltet, daß man mit minimalem Code im eigentlichen Formular, in dem das mehrwertige Feld angezeigt werden soll, auskommt. Mit den entsprechenden Parametern versorgt, kann die Klasse für jede beliebige m:n-Verbindung verwendet werden.

Voraussetzungen:
  • Das ID-Feld aller drei Tabellen muß ein üblicher Long-Wert sein
  • Die Namen der ID-Felder müssen jeweils übereinstimmen in den beiden n- und den beiden m-Tabellen
  • Zum Einfügen in die m:n-Tabelle werden nur die beiden ID-Werte benutzt. Ein drittes Feld mit Autowert würde noch gehen, weitere Felder in der m:n-Tabelle müßten einen Default-Wert enthalten, ansonsten kommt es zu Fehlermeldungen.
Zur Verwendung in eigenen Datenbanken benötigt man nur das Formular "frmSelection" sowie die beiden Klassenmodule "clsMultiValue" und "clsMultiValueColumnData". Der Code aus dem Formular "frmPersonen" muß dann entsprechend den eigenen Bedürfnissen angepaßt werden.
Die Module sind dokumentiert, sollte eigentlich kein Problem sein, damit klarzukommen.

Das Zusatzformular "frmAbteilungen", mit dem die Lookup-Tabelle editiert werden kann, kann ein beliebiges Formular zum Editieren sein, nach eigenem Geschmack. Es muß lediglich in der Lage sein, die Lookup-Tabelle in irgendeiner Form zu verändern (neu, ändern, löschen, was immer gewünscht ist).

Viel Spaß beim Ausprobieren...

Christian



MultiValuedFields.zip
 Beschreibung:
Die Demodatenbank im Format 2000-2007, getestet aber nur unter 2007. Sollte aber auch in älteren Versionen funktionieren. Referenz auf MSComCtl.OCX (6.0) muß in eigenen Datenbanken gesetzt werden.

Download
 Dateiname:  MultiValuedFields.zip
 Dateigröße:  250.2 KB
 Heruntergeladen:  160 mal

Willi Wipp
Moderator


Verfasst am:
09. Apr 2011, 07:27
Rufname:
Wohnort: Raum Wiesbaden


AW: Mehrwertige Felder mit echten m:n-Tabellen - AW: Mehrwertige Felder mit echten m:n-Tabellen

Nach oben
       Version: Office 2007

{Dieser Beitrag nimmt das Thema aus den unbeantworteten Themen heraus}
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfrage Felder bearbeiten 1 Nick83 578 18. Jul 2006, 18:41
rita2008 In Abfrage Felder bearbeiten
Keine neuen Beiträge Access Tabellen & Abfragen: von bis Felder über formular und ausgabe durch abfrage 1 ghetto 605 14. Jul 2006, 00:21
stpimi von bis Felder über formular und ausgabe durch abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2k2 Suche + Leere Felder anzeigen lassen 5 Gast 6196 05. Jul 2006, 08:47
Gast Access 2k2 Suche + Leere Felder anzeigen lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage über 2 Felder 2 Chris 24 598 27. Apr 2006, 13:22
Chris 24 Abfrage über 2 Felder
Keine neuen Beiträge Access Tabellen & Abfragen: Felder zusammenführen aus Text und Zahl 4 Nachtrapp 4457 18. Apr 2006, 17:24
Nachtrapp Felder zusammenführen aus Text und Zahl
Keine neuen Beiträge Access Tabellen & Abfragen: aktualisierungsabfrage nur für felder mit wert 2 Gast290306 895 29. März 2006, 10:40
Gast290306 aktualisierungsabfrage nur für felder mit wert
Keine neuen Beiträge Access Tabellen & Abfragen: Leere Felder abfragen 3 Flintstone 795 15. März 2006, 12:16
jens05 Leere Felder abfragen
Keine neuen Beiträge Access Tabellen & Abfragen: Feldinhalte Trennen und auf mehrere Felder aufteilen 15 MTG 3338 03. März 2006, 13:29
Gast Feldinhalte Trennen und auf mehrere Felder aufteilen
Keine neuen Beiträge Access Tabellen & Abfragen: Leer und ausgefüllte Felder anzeigen 1 Fabs 613 23. Feb 2006, 09:38
rita2008 Leer und ausgefüllte Felder anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: In einer Abfrage Kriterien für ALLE Felder eingeben ?!?! 4 Doc175 5550 17. Feb 2006, 15:29
Doc175 In einer Abfrage Kriterien für ALLE Felder eingeben ?!?!
Keine neuen Beiträge Access Tabellen & Abfragen: Zu viele Felder definiert! 7 michel1964de 689 29. Sep 2005, 09:15
michel1964de Zu viele Felder definiert!
Keine neuen Beiträge Access Tabellen & Abfragen: Verkettung von Inhalten versch.Felder in einer Tabelle 15 haike 1487 27. Jul 2005, 11:56
haike Verkettung von Inhalten versch.Felder in einer Tabelle
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps