PDA

Vollständige Version anzeigen : Listenfeld - Eintrag hinzufügen


echo
10.08.2001, 14:30
Hallo zusammen,

bevor ich hier zusammengesch***** werde, gleich vorab: Die Suchenfunktion hab ich bereits ausreichend gequält und mind. 1000 Threads zum Thema Listenfelder gefunden (+ gelesen). Aber mein Problem wurde damit nicht so richtig geklärt oder ich habs einfach nicht kapiert.

Also, hier mein Problem: Ich hab ein kleines Formular mit einem einfachen Listenfeld drin, was seine Daten aus einer Tabelle bezieht. Die Einträge im Listenfeld dienen als Filter für die Abfrage, die Basis für einen Bericht ist.
So, bis hierher funktioniert alles ganz fantastisch und ohne jegliche Probleme.

Nun hätte ich es aber gern, wenn im Listenfeld des vorgeschalteten Formulars ein Eintrag stünde, wie "alle", "ohne Filter" "alles anzeigen" o.ä. jedenfalls ein Eintrag, der NICHT in der Tabelle steht, die Grundlage für das Listenfeld ist.
Dieser zusätzliche Eintrag soll bewirken, das die Abfrage des nachfolgenden Formulars keinen Filter hat, somit alle Datensätze anzeigt und letztendlich der gesamte Bericht angezeigt wird.
Ich hoffe, ich hab mich nicht allzu unverständlich ausgedrückt.
Ich würd' mich freuen wenn hier jemand ne Idee dazu hat.
Schonmal Danke im voraus,

echo

Birgit Dannenberg
10.08.2001, 15:20
Kannst Du das nicht besser mit einem Kombinationsfeld lösen?

Birgit

echo
10.08.2001, 16:47
Hi,

och nö, mit dem Listenfeld, das ist schon ganz ok so.
Außerdem funktioniert der Filter in der Abfrage nicht, wenn ich im Kombinationsfeld nix auswähle. Dann erscheinen nämlich nicht alle sondern gar kein Datensatz.
Noch ne andere Idee?

echo

A.S.
10.08.2001, 17:20
Hallo Echo,

den zusätzlichen Eintrag mußt Du mit einer UNION-Abfrage hinzufügen, etwa so:

SELECT
"*" As ID, "[Alle]" AS FirmenName
FROM tblFirmen

UNION

SELECT
tblFirmen.ID AS ID, tblFirmen.FirmenName AS FirmenName
FROM
tblFirmen
ORDER BY FirmenName;

Beide Select-Clauses müssen auf jeden Fall die gleiche Anzahl an Ausgabefeldern haben. Am besten also die SQL-Clause der bisherigen Datenquelle bis "FROM tabelle" kopieren, vor die bisherige Select-Clause setzen und dazwischen das Wörtchen UNION einsetzen. Alle Felder die für den gewünschten Eintrag keine Werte liefern sollen müssen, mit "Wert As Feldname" deklariert werden, damit die UNION-Abfrage ein Ergebnis bringt und nicht auf einen Fehler läuft.

------------------
HTH

Arno

A.S.
10.08.2001, 17:22
PS "zusammengesch*****" wird hier so schnell niemand ;) Nur wer seine Themen auf mehrere Beitrags-Threads verteilt wird von mir aufgefordert mit einem Thema bei einem Beitrag zu bleiben und wer pöbelt wird naturgemäß ermahnt ;) Wir sind hier ja schließlich nicht in gewissen NewsGroups, nit ;)

echo
10.08.2001, 21:52
@ArnoSimon:

1. Vielen vielen Dank, ich werd das mal auschecken. Ich sag bescheid obs funzt.

2. Ok. Ich werd versuchen mich dranzuhalten. :-)

echo

echo
13.08.2001, 14:35
Also, zuerst die gute Nachricht:
Die SQL-Anweisung wird ohne Fehlermeldung ausgeführt.

Die schlechte Nachricht:
Mein "Alle"-Eintrag liefert keine Datensätze in der Abfrage.

Konkret sieht die SQL-Anweisung im Listenfeld nun so aus:

SELECT qry_Kurzinfo_Projektstatus_vgsFrm.Projektstatus
FROM qry_Kurzinfo_Projektstatus_vgsFrm
UNION SELECT "*** ALLE ***"
FROM tbl_Projektstatus;

Ich weiß nun nicht ob diese Formulierung 100%ig ok ist (ich mach nicht jeden Tag ne UNION-Abfrage und SQL kann ich auch nicht auswendig), aber Access bringt schonmal keine Fehler :-)

Auch die restlichen Einträge die schon vorher da waren funzen wie zuvor.

Ich könnte mir vorstellen, daß das Kritierium der Abfrage (Basis des Berichts) der ausschlaggebende Punkt ist; es lautet:

[Formulare]![frm_Kurzinfo_Projektstatus].[ListeProjektstatus]

Also um es kurz zu machen: Mein Problem ist noch nicht gelöst. Hab ich da was falsch gemacht? Geht diese Konstruktion denn generell nicht?
Bitte bitte helft mir.

echo

echo
13.08.2001, 17:49
Entwarnung!

Ich habs doch noch hinbekommen. puuuh! is ein hartes Stück Arbeit ;-). Funktioniert mittlweile prächtig; es lag tatsächlich am Kriterium der Abfrage.
Danke an alle für die Unterstützung! Bis demnächst.

echo