Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Listenfeld zum Filtern eines Listenfeldes einsetzen
zurück: Bilder im Formular weiter: 0 Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
SandraMSA
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Jul 2009, 13:04
Rufname:

Listenfeld zum Filtern eines Listenfeldes einsetzen - Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hallo, ich bin grad dabei ein Berechnungsformular zu erstellen, auf dem man in einem Listenfeld einen Datensatz auswählt und dann in den danebenstehenden Textfeldern die berechneten Werte angezeigt bekommt (Wenn eine Berechnung möglich ist). Das hat auch soweit schon funktioniert. Mir ist dann aufgefallen, dass die Liste unter umständen sehr lang werden kann, weshalb ich eine Art Filterung für sinnvoll erachte. Ich habe mir auch schon einige Beiträge über dieses Thema durchgelesen.

Die erste Liste heißt "KomponentenListe" und die Liste 2 "Pgas_KomponentenListe". In der Liste #2 sollen nur die Prüfgase mit den entsprechenden Konzentration angezeigt werden, die die ausgewählte Komponente der Liste 1 einthalten. Ich könnte in der Abfrage für den Inhalt der Liste #2 eine bedingung (Where) einfügen. Ich habe auch heruasgefunden, dass ich den Eintrag einer Spalte eines Listenfeldes mit [liste].column(1) abfragen kann. Leider hat mir as noch nicht weitergeholfen, da ich so einige Probleme mit der Syntax habe.
Die Datenherkunft für die erste Liste ist
Code:
SELECT   K.KomponentenID, K.Verbindung, P.IstKonzentration, E.Einheit, G.PGNr
FROM     Prüfgas AS G
         LEFT JOIN ((PgasKomponenten AS P
                     LEFT JOIN Komponenten AS K
                     ON P.Komponente = K.KomponentenID)
                    LEFT JOIN [tbl Einheiten] AS E
                    ON P.Einheit = E.UnitID)
         ON G.PGNr = P.PgasNr
ORDER BY K.Verbindung;
Damit nur die Komponenten angezeigt werden habe ich die Spaltenbreite der ersten spalte auf 0 gesetzt 0cm;2,2cm , so dass nur die Kompoenten sichtbar sind.

Abhaengige Kombinationsfelder

mfg Sandra



abfrageliste2.jpg
 Beschreibung:
 Dateigröße:  19.01 KB
 Angeschaut:  358 mal

abfrageliste2.jpg


MissPh!
Office-VBA-Programmiererin


Verfasst am:
20. Jul 2009, 14:52
Rufname:
Wohnort: NRW


AW: Listenfeld zum Filtern eines Listenfeldes einsetzen - AW: Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hallo Sandra.

Mit dem Screenshot kann man nicht viel anfangen, zeige doch lieber mal den SQL-Code der Abfrage für das zweite Listenfeld.
Zitat:
In der Liste #2 sollen nur die Prüfgase mit den entsprechenden Konzentration angezeigt werden, die die ausgewählte Komponente der Liste 1 einthalten.
Meinst du nicht, dass folgendes dann als Abfrage für Liste#1 reichen könnte:
Code:
SELECT   KomponentenID, Verbindung
FROM     Komponenten
ORDER BY Verbindung;

_________________
Gruß MissPh!
SandraMSA
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Jul 2009, 15:54
Rufname:

AW: Listenfeld zum Filtern eines Listenfeldes einsetzen - AW: Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hallo MissPh!, danke für die schnelle Antwort
Dein Vorschlag reicht leider nicht aus.
Code:
SELECT   KomponentenID, Verbindung
FROM     Komponenten
ORDER BY Verbindung;
Ich habe versuch es auf meine Ansprüche anzupassen
Code:
SELECT   KomponentenID, Verbindung, Relevants
FROM     Komponenten
WHERE    Relevants = 1
ORDER BY Verbindung;
Jedoch möchte ich ja nur die Komponenten angezeigt bekommen, die auch in irgendeiner Gasflasche enthalten sind. Sozusagen um die Suche schon etwas einzuschränken.

Es würde mir auch reichen an Stelle der Liste #1 ein kombinationsfeld zu benutzen. Nur ist es mir nicht gelungen die SQLanweisung so auseinander zu nehmen, dass ich diese in meinem VBAbefehl zum Laufen bekomme.
Hatte da mal was gefunden:
Code:
    Me![Liste].RowSource = "SELECT ... "
    Me![Liste].Requery
Ich dachte das Screenshot kann insofern weiterhelfen, dass man daraus die Beziehungen erkennt. Leider sind nicht alle Daten in einer tbl, so dass die Abfrage zu kompliziert für mich wird.

mfg Sandra
MissPh!
Office-VBA-Programmiererin


Verfasst am:
20. Jul 2009, 21:10
Rufname:
Wohnort: NRW

AW: Listenfeld zum Filtern eines Listenfeldes einsetzen - AW: Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hallo Sandra,
die Komponenten, die in mind. einer Gasflasche enthalten sind, bekommst du über die Abfrage
Code:
SELECT   DISTINCT K.KomponentenID, K.Verbindung
FROM     Komponenten AS K
         INNER JOIN PGasKomponenten AS PK
         ON K.KomponentenID = PK.Komponente
WHERE    K.Relevants = 1
ORDER BY K.Verbindung;
Die Gasflaschen mit der aktuellen Konzentration zur ausgewählten Komponente erhältst du hiermit:
Code:
SELECT PG.PGNr, PG.[aktuelle Konzentration]
FROM   Prüfgas AS PG
       INNER JOIN PGasKomponenten AS PK
       ON PG.PGNr = PK.PGasNr
WHERE  PK.Komponente = [liste1]
wobei liste1 für das Listenfeld-1 steht.
_________________
Gruß MissPh!
SandraMSA
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Jul 2009, 16:02
Rufname:

AW: Listenfeld zum Filtern eines Listenfeldes einsetzen - AW: Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hey du bist toll Smile Ich hab nun folgenden Code verwendet

Zitat:
Private Sub KomponentenListe_AfterUpdate()

Select Case Me!Rahmen23
Case 1 ' SollKonzentration
Me!Pgas_KomponentenListe.RowSource = "SELECT PG.PGNr,PK.SollKonzentration " & _
"FROM Prüfgas AS PG " & _
"INNER JOIN PGasKomponenten AS PK " & _
"ON PG.PGNr = PK.PGasNr " & _
"WHERE PK.Komponente = [KomponentenListe] "
Case 2 ' Istkonzentration
Me!Pgas_KomponentenListe.RowSource = "SELECT PG.PGNr,PK.IstKonzentration " & _
"FROM Prüfgas AS PG " & _
"INNER JOIN PGasKomponenten AS PK " & _
"ON PG.PGNr = PK.PGasNr " & _
"WHERE PK.Komponente = [KomponentenListe] "
End Select

Me!Pgas_KomponentenListe.Requery

End Sub


Du konntest ja nicht wissen, dass [aktuelleKonzentration] noch ein Relikt aus vergangen Tagen ist und die Konzentrationen in der Tbl. Der Komponenten stehen. Werd mich jetzt nur noch ran setzten und eine Salpte mit der Einheit hinzufügen und das Formular gestalten. Vielen Dank Du warst eine große Hilfe

mfg Sandra
SandraMSA
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Jul 2009, 16:03
Rufname:

AW: Listenfeld zum Filtern eines Listenfeldes einsetzen - AW: Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hey du bist toll Smile Ich hab nun folgenden Code verwendet

Zitat:
Private Sub KomponentenListe_AfterUpdate()

Select Case Me!Rahmen23
Case 1 ' SollKonzentration
Me!Pgas_KomponentenListe.RowSource = "SELECT PG.PGNr,PK.SollKonzentration " & _
"FROM Prüfgas AS PG " & _
"INNER JOIN PGasKomponenten AS PK " & _
"ON PG.PGNr = PK.PGasNr " & _
"WHERE PK.Komponente = [KomponentenListe] "
Case 2 ' Istkonzentration
Me!Pgas_KomponentenListe.RowSource = "SELECT PG.PGNr,PK.IstKonzentration " & _
"FROM Prüfgas AS PG " & _
"INNER JOIN PGasKomponenten AS PK " & _
"ON PG.PGNr = PK.PGasNr " & _
"WHERE PK.Komponente = [KomponentenListe] "
End Select

Me!Pgas_KomponentenListe.Requery

End Sub


Du konntest ja nicht wissen, dass [aktuelleKonzentration] noch ein Relikt aus vergangen Tagen ist und die Konzentrationen in der Tbl. Der Komponenten stehen. Werd mich jetzt nur noch ran setzten und eine Salpte mit der Einheit hinzufügen und das Formular gestalten. Vielen Dank Du warst eine große Hilfe

mfg Sandra
SandraMSA
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Jul 2009, 16:03
Rufname:


AW: Listenfeld zum Filtern eines Listenfeldes einsetzen - AW: Listenfeld zum Filtern eines Listenfeldes einsetzen

Nach oben
       Version: Office 2k (2000)

Hey du bist toll Smile Ich hab nun folgenden Code verwendet

Code:
Private Sub KomponentenListe_AfterUpdate()

Select Case Me!Rahmen23
      Case 1 ' SollKonzentration
        Me!Pgas_KomponentenListe.RowSource = "SELECT PG.PGNr,PK.SollKonzentration " & _
        "FROM   Prüfgas AS PG " & _
         "INNER JOIN PGasKomponenten AS PK " & _
         "ON PG.PGNr = PK.PGasNr " & _
        "WHERE PK.Komponente = [KomponentenListe] "
      Case 2 ' Istkonzentration
          Me!Pgas_KomponentenListe.RowSource = "SELECT PG.PGNr,PK.IstKonzentration " & _
        "FROM   Prüfgas AS PG " & _
         "INNER JOIN PGasKomponenten AS PK " & _
         "ON PG.PGNr = PK.PGasNr " & _
        "WHERE PK.Komponente = [KomponentenListe] "
    End Select

Me!Pgas_KomponentenListe.Requery

End Sub


Du konntest ja nicht wissen, dass [aktuelleKonzentration] noch ein Relikt aus vergangen Tagen ist und die Konzentrationen in der Tbl. Der Komponenten stehen. Werd mich jetzt nur noch ran setzten und eine Salpte mit der Einheit hinzufügen und das Formular gestalten. Vielen Dank Du warst eine große Hilfe

mfg Sandra
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: nur gefüllte ds filtern 4 kaoru 394 12. Feb 2007, 09:29
kaoru nur gefüllte ds filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2000 : Abfrage zum Filtern des Geburtsjahres ! 7 rabie 2315 08. Feb 2007, 12:35
rabie Access 2000 : Abfrage zum Filtern des Geburtsjahres !
Keine neuen Beiträge Access Tabellen & Abfragen: Daten des vorletzten Monats filtern 4 sandygenator 678 02. Feb 2007, 08:47
sandygenator Daten des vorletzten Monats filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Listenfeld - Summe der dritten Spalte gesucht 2 Klausi 1537 28. Jan 2007, 20:28
Gast Listenfeld - Summe der dritten Spalte gesucht
Keine neuen Beiträge Access Tabellen & Abfragen: Eintrag in Listenfeld bei klick an abfrage übergeben? 5 Zamp 1012 07. Dez 2006, 07:58
derArb Eintrag in Listenfeld bei klick an abfrage übergeben?
Keine neuen Beiträge Access Tabellen & Abfragen: keine konnektivität filtern? 1 daUwe 477 07. Nov 2006, 07:29
Nouba keine konnektivität filtern?
Keine neuen Beiträge Access Tabellen & Abfragen: Geburtstage filtern 1 Unrealfighter 801 05. Okt 2006, 06:57
jens05 Geburtstage filtern
Keine neuen Beiträge Access Tabellen & Abfragen: In Abfragen nach Datum filtern 12 grandmasterb10 1003 09. Sep 2006, 17:51
grandmasterb10 In Abfragen nach Datum filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage über Drop-Down-Felder filtern 13 snatchmo66 998 02. Jan 2006, 11:48
Willi Wipp Abfrage über Drop-Down-Felder filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung im Listenfeld anzeigen? 3 Schnoop 804 20. Okt 2005, 08:24
Timbo Berechnung im Listenfeld anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Daten filtern mit 2 Kobiboxen 1 Sovi79 604 29. Aug 2005, 15:49
rita2008 Daten filtern mit 2 Kobiboxen
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern nach den letzten xy Datensätzen 1 BML77 507 25. Jun 2005, 20:03
jens05 Filtern nach den letzten xy Datensätzen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web