Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: burlibua am Juli 16, 2012, 11:47:47

Titel: Variable Kriterien in Tabelle
Beitrag von: burlibua am Juli 16, 2012, 11:47:47
Sorry, habe etwas zu früh auf "schreiben" gedrückt.

Hier die vollständige Version

Hallo Zusammen

Ich hoffen Ihr könnt mir bei der Lösung eines (für Euch) kleinen Problems helfen.

Ich möchte für weitere User in unserem Unternehmen eine Möglichkeit schaffen, ohne Kenntnisse über Formel und Ausdrucksgestaltung eine "variable" Abfrage zu erhalten.

Meine Idee ist folgende:

In einer Tabelle werden neben der eindeutigen ID auch noch eine Bezeichnung und dann ein Ausdruck (Kriterium) erfasst.

sieht dann so aus
ID / Bezeichnung / Kriterium

Die Idee ist wie folgt, über ein Formular (Kombifeld) wird die Auswahl getroffen und in der Abfrage dann das in der Tabelle eingetragene Kriterium angewendet.


Folgendes  Beispiel:
ID     Bezeichnung     Kriterium

1      Alle                     "*"                              = alle Daten werden ausgewertet und angezeigt
2      Nur IC                 Wie "*IC*"                 = Alle Daten mit "IC" an einer Stelle werden ausgwertet
3      ohne "IC"           Nicht wie "*IC*"         = Alle Daten ohne "IC" werden ausgewertet

In der Abfrage wird dann im Kriterium auf das Feld im Formular verwiesen

Für den einzelnen Benutzer ist dann nur die Bezeichnung sichtbar und er muss sich dann um nichts weiteres kümmern. Ausserdem finde ich diese Möglichkeit sehr dynamisch da ja jederzeit erweiterbar bzw. abänderbar.

ich habe es mit "eval" versucht bekomme es aber nicht hin.



Ist diese überhaupt umsetzbar?

Bin für jede Unterstüzung sehr dankbar
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: DF6GL am Juli 16, 2012, 11:56:03
Hallo,


eigentlich ist das durch die Brust ins Auge geschossen...


Wie lautet die Abfrage (SQL-String) , die das Kriterium verpasst bekommen soll und wo (für was) wird diese Abfrage verwendet?
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: burlibua am Juli 16, 2012, 15:52:22
Hallo

es handelt sich um eine Auswertung von Daten welche direkt aus dem bestehenden ERP-System gezogen werden.

Bisher war (ist) es so, dass ein festes Kriterium direkt in der Abfrage angegeben ist (Nicht wie "*IC*")

Das hat aber den Effekt, dass eben nur bestimmte Daten (in diesem Fall Kundendaten) ausgewertet bzw. angezeigt werden.

Um aber auch die Daten anzeigen zu lassen welche "IC" enthalten, möchte ich nicht unbedingt eine neue Abfrage erstellen sondern eben mit diesem Vorgehen eine variable Nutzung (variable Kriterien) bieten.

Wenn der einzelne User z.B. über das Kombifeld die Bezeichnung ohne "IC" auswählt soll in der Abfrage das in der Tabelle "Tbl_Auswahl" in Feld "Kriterium" eingetragene Kriterium Nicht wie "*IC*" verwendet werden.

Die Abfragen stehen bereits und funktionieren auch problemlos. Aber eben nur mit der Einschränkung auf alle Daten ausser wenn diese "IC" enthalten.  Hier möchte ich eine dynamischere Auswahlmöglichkeit schaffen.

Ist dies grundsätzlich möglich oder muss ich mich von der Idee verabschieden?
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: oma am Juli 16, 2012, 16:37:49
Hallo Burliba,

natürlich brauchst du dich von deiner Idee nicht verabschieden, nur muss dein Konzept geändert werden.
Wenn du unterschiedliche Auswertungen realisieren willst, solltest du das nicht mit einer Reihe von Abfragen machen. Hierzu kann man einen "dynamnischen" SQL-String aus verschiedenen Suchbegriffen (auch aus Teilbegriffen) zusammenstellen und dem Suchformular als Datenquelle zuweisen.  

Hierzu gibt es eine Reihe von Beispielen im Forum. Mal ein kleines Beispiel von mir, dass das Prinzip deutlich machen soll. Probiers mal aus, für das Suchen nach Teilbegriffe kannst du das Suchfeld Firma testen.

Gruß Oma

[Anhang gelöscht durch Administrator]
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: burlibua am Juli 18, 2012, 20:04:49
Hallo

Danke für die Hilfe

Schade dass es mit der von mir gedachten Lösung nicht geht.

Wäre ja zu schön, wenn Funktionen und Formeln einfach über eine Tabelle
abrufbar wären.


Danke nochmals
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: bahasu am Juli 18, 2012, 20:13:07
N'abend,

wenn Du unbedingt solche Bedingungen in einer Tabelle abspeichern willst, ist so etwas auch mit einem in einer Tabelle gespeichertem Formular-Filter machbar.

Und was spricht dagegen, die oben aufgeführten Bedingungen ("wie ..." und "nicht wie ..." in einer Tabelle zu speichern, und dann nach Auswahl daraus eine sql-Anweisung zu erstellen?

Harald
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: burlibua am Juli 18, 2012, 20:34:15
Wow, das geht ja schnell mit den Antworten

Der Grund warum etwas (aus meiner Sicht) gegen die sql-Anweisung spricht ist,
dass jedesmal wenn ich in der Tabelle eine neue Bedingung angebe (sollte nicht aber
kann vorkommen) ich dann auch die sql anpassen muss.

Komfortabler wäre es eben gewesen, wenn ich die Eingabe in der Tabelle eben als "Funktion"
kennzeichnen hätte können.

Damit wäre man sehr flexibel

ich habe es auch schon versucht, den Operator ("Nicht wie") separat in eine Tabellenfeld zu stellen
und dann eben mit der Bedingung ("IC") zu kombinieren. Logischerweise werden aber dann natürlich
beide Werte als Text übernommen und somit nicht als Funktion / Bedingung gesehen.


Trotzdem Danke nochmals
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: Beaker s.a. am Juli 19, 2012, 00:32:34
Hallo burlibua,
Und wenn Du die unterschiedlichen SQL-Strings auch in der Tabelle hinterlegst?
Dann brauchst Du die nur einmal zusammen zu setzen und bei Auswahl im
Kombi weist Du den gespeicherten SQL-String der Abfrage zu.
Luftcode:
Dim qrydef As Dao.QueryDef
Set qrydef = CurrentDb.QueryDefs("DeineAbfrage")
qrydef.SQL = Me!DeinKombi.Column(n)
MachWasMitAbfrage

n = Spalte in dem der SQL-String steht (Nummerierung 0-basiert)
hth
gruss ekkehard
Titel: Re: Variable Kriterien in Tabelle
Beitrag von: burlibua am Juli 19, 2012, 08:27:15
Hallo und WOW


Das ist die Lösung


Danke