MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access - Code Archiv
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 20.11.2003, 22:17   #1
J_Eilers
MOF Guru
MOF Guru
Standard Codebeispiel - Abhängigkeiten von Kombi- / Listenfeldern und UFo's

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
Mit der RowSource-Methode wird die Datenherkunft des Listenfeldes beeinflusst. Der SELECT- und FROM-Teil beschreibt, welche Daten woher bezogen werden. Der WHERE-Teil gibt ein Kriterium an. Da die gebundene Spalte des Kombinationsfeldes die ID-Spalte ist, reicht hier ein einfacher Verweis.

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) & "'"
Bei der Column-Funktion kann man gezielt auf einzelne Spalten des Listenfeldes zugreifen. Wobei mit 0 angefangen wird zu zählen, d.h. Column(1) verweist somit auf die 2. Spalte.

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]));
Also ganz ähnlich dem obigen. In der normalen Ansicht steht dort jetzt ein Eintrag wie:
Code:

[Formulare]![frm]![cmbGruppe]
Um das ganze jetzt immer zu aktualisieren benötigt man noch ein Requery. Dieses wird ebenfalls als Ereignis nach Aktualisierung geschrieben:
Code:

Me!lstGeraetI.Requery
Unterformular:
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
So, ich hoffe es ist verständlich und man kann etwas damit anfangen...



AD: Auf Jans Wunsch hin nach Ablauf der normalen Bearbeitungsfrist noch einmal überarbeitet.
Angehängte Dateien
Dateityp: zip abhaengigkeiten97.zip (10,7 KB, 1589x aufgerufen)

__________________

Bis denn dann
Jan


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!

Bitte keine Fragen als PN! Probleme gehören ins Forum und mit Feedback kann man sie auch lösen.

Geändert von Arne Dieckmann (25.11.2003 um 09:59 Uhr).
J_Eilers ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2004, 13:11   #2
J_Eilers
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

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 dann
Jan


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!

Bitte keine Fragen als PN! Probleme gehören ins Forum und mit Feedback kann man sie auch lösen.
J_Eilers ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2004, 13:47   #3
heini
MOF Koryphäe
MOF Koryphäe
Standard

Also ich für meinen Teil hab schon Interesse.

Tu Dir keinen Zwang an
heini ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.