![]() |
![]() |
|
|||||||
| Banner und Co. |
|
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
![]() MOF Guru |
Mit diesem Beispiel soll veranschaulicht werden, wie man eine Abhängigkeit von Kombinations- / Listenfeldern und Unterformularen herstellen kann.
Das angehängte Beispiel wurde in Access 2000 erstellt, funktioniert aber auch in Access 97 (ist konvertiert). Verwendet wurde die deutsche Version. Eine Voraussetzung ist eine Datengrundlage ähnlich meines Aufbaus. Im ersten Kombinationsfeld wählt man eine Gruppe aus. Nach der Aktualisierung passieren nun 2 Ereignisse. Listenfeld Geräte II: Code: Me!lstGeraetII.RowSource = "SELECT tblGeraet.GeraeteID, tblGeraet.Geraet " & _
"FROM tblGeraet WHERE tblGeraet.GruppenID = " & Me!cmbGruppe
Sollte das ID-Feld wider Erwarten (im Tabellenentwurf) ein nicht numerisches Feld sein, bzw. man will eine andere Spalte als die gebundene Spalte des Kombinationsfeldes auswerten, muss man das Kriterium in Hochkommata respektive die Column-Eigenschaft verwenden: Code: 'wenn GruppenID (s. Tabellenentwurf!) nicht numerisch ist: "WHERE tblGeraet.GruppenID = '" & Me!cmbGruppe & "'" 'wenn eine nicht gebundene Spalte verwendet werden soll, 'und GruppeID (s. Tabellenentwurf!) numerisch ist: "WHERE tblGeraet.GruppenID = " & Me!cmbGruppe.Column(x) 'wenn eine nicht gebundene Spalte verwendet werden soll, 'und GruppenID (s. Tabellenentwurf!) nicht numerisch ist: "WHERE tblGeraet.GruppenID = '" & Me!cmbGruppe.Column(x) & "'" Listenfeld I: In diesem Fall habe ich den Verweis in der Datenherkunft des Listenfeldes selbst gemacht. Hierzu geht man auf die Eigenschaften und auf die Datenherkunft. Nun klickt man auf die "..." und gelangt in die SQL-Ansicht. Hier geht man in die entsprechende Spalte oder, falls nicht vorhanden, muss diese noch eingefügt werden. Nun geht man auf den "Zauberstab" und dort auf: Formulare / geladene Formulare und das entsprechende Feld. Die SQL-Anweisung sieht nun so aus: Code: SELECT tblGeraet.GeraeteID, tblGeraet.Geraet FROM tblGeraet WHERE (((tblGeraet.GruppenID)=[Formulare]![frm]![cmbGruppe])); Code: [Formulare]![frm]![cmbGruppe] Code: Me!lstGeraetI.Requery In dem Unterformular ist dieselbe Methode verwendet worden, wie bei dem Listenfeld Geräte I. Einfach nur, weil es schneller ging. Es sind auch hier beide Möglichkeiten umsetzbar. Allerdings muss man hierbei die RecordSource-Methode verwenden. Der Requery gestaltet sich hier ebenfalls anders: Code: Forms!frm!ufrm.Requery AD: Auf Jans Wunsch hin nach Ablauf der normalen Bearbeitungsfrist noch einmal überarbeitet. __________________ Bis denn dannJan FAQ | relationale Datenbanken | Grundlagen | DBWIKI | Josef's Access Seite | Meine Homepage und Access | Abhängigkeiten | Suchen und Nachschlagen | Tab2Web | SQL-Codes bitte formatieren und als Code posten. Danke! Alle Code-Beispiele auf einen Blick Bitte keine Fragen als PN! Probleme gehören ins Forum und mit Feedback kann man sie auch lösen. MOF-Stammtisch Hamburg Geändert von Arne Dieckmann (25.11.2003 um 09:59 Uhr). |
|
|
|
|
|
#2 |
|
Threadstarter
![]() MOF Guru |
Hi zusammen,
nachdem sich dieses Beispiel schon mehr als 400 Leute angesehen haben und auch ein paar es runtergeladen haben, habe ich einen Verbesserungsvorschlag für dieses Beispiel. Und zwar bin ich am Überlegen, es noch um leere Felder zu erweitern. Sprich Wenn kein Eintrag im Listenfeld ausgewählt wird, zeige alle. Für das lstGeräte II würde ich ebenfalls alle anzeigen lassen, wenn im Kombi nichts ausgewählt wurde. Also etwas dynamischer, da öfter mal die Fragen im Forum kommen...Interesse? Andere Vorschläge? Etwas was ich noch besser machen kann? Vielleicht schaut ihr ja auch mal in diesen Thread ![]() __________________ Bis denn dannJan FAQ | relationale Datenbanken | Grundlagen | DBWIKI | Josef's Access Seite | Meine Homepage und Access | Abhängigkeiten | Suchen und Nachschlagen | Tab2Web | SQL-Codes bitte formatieren und als Code posten. Danke! Alle Code-Beispiele auf einen Blick Bitte keine Fragen als PN! Probleme gehören ins Forum und mit Feedback kann man sie auch lösen. MOF-Stammtisch Hamburg |
|
|
|
|
|
#3 |
![]() MOF Koryphäe |
Also ich für meinen Teil hab schon Interesse.
Tu Dir keinen Zwang an ![]() __________________ Grüsseheini WIN2k; AC2k;SQL-Server 7.0; Oracle 8i Was es alles gibt, was ich nicht brauche! (Aristoteles) ____________________________ Wichtige Links: Netiquette FAQ SQL Formatter ____________________________ Forumtreffen im Raum Frankfurt |
|
|
|