2008-09-22 4 views

Antwort

0

Die beste Schnittstelle, die ich für dieses gesehen habe, war eine selbstgebaute Steuerung, die einen Baum gezeichnet hat, um die Reihenfolge der Operationen deutlich zu zeigen. Ich habe noch nie eine Kontrolle durch einen Drittanbieter gesehen, aber das habe ich auch nicht gesucht.

1

Microsoft SQL Server hat eine Schnittstelle wie diese, ich habe es in SQL Server 2000 verwendet, aber ich wette, es ist in 2005 Express auch so können Sie einen Blick, wenn Sie wollen.

+0

Danke, werde ich einen Blick. – ilitirit

2

Angenommen, ich würde mit einem DataGridView gehen, um jede Bedingung zu speichern und jedem eine ID zuzuordnen, wie es erstellt wird und ein Textfeld haben, mit dem Sie die bestimmten Abfrage Bedingungen eingeben können.

Sie dann, sobald alle Bedingungen geschrieben werden, ermöglichen entweder eine zu einem Zeitpunkt 2 kombiniert AND oder ein OR und dann zur Überprüfung der resultierenden Abfrage Anzeigen

Condition1

Condition2

Bedingung3

Condition4

Condition5

in Ihrem Fall, sobald Sie jeden zu Ihrem Dataset hinzufügen und das DataGridView auffüllen, würden Sie dann tun (ich stelle mir ein Formular mit 3 Dropdown-Boxen, obere und untere für Bedingungen oder "Verbindungen" und die mittlere Dropdown-Liste erlauben) ist UND/ODER nur:

Condition1 UND Condition2 = "VERBINDUNG1"

Condition1 UND Condition5 = "Verbindung2"

VERBINDUNG1 OR Verbindung2 = "Compound3"

Compound3 UND Condition4 = "Compound4"

 

und compound4 ist Ihre letzte Abfrage

sinnvoll?

+0

Klingt interessant. Ich könnte das versuchen. – ilitirit

0

Sie können überprüfen, wie MS Access es tut. Ich werde es nicht intuitiv nennen, aber es ist einfach.

+0

Das ist der erste Ort, an dem ich suchte. Es ist nicht intuitiv genug für meine Zwecke, aber ich könnte eine modifizierte Version versuchen. – ilitirit

1

Wenn dies wichtig genug ist, viel Zeit auf verbringen, würde ich mit Venn-Diagramme betrachten. Die Visualisierung wird die Ergebnismengen und nicht die Abfragebegriffe darstellen. Um AND zu demonstrieren, würden Sie zwei Kreise zeigen, die die Ergebnisse darstellen, und die Überlappung zwischen ihnen hervorheben (Schnittpunkt).

Um OR zu demonstrieren, würden Sie die zwei Kreise zeigen und die Vereinigung von beiden hervorheben.

Um die gesamte mehrteilige Abfrage anzuzeigen, können Sie entweder fünf Kreise mit einer Kombination aus Vereinigung und Schnittpunkt anzeigen oder die einzelnen Klammern kombinieren und das Detail ausblenden, um die Ergebnisse in einem neuen Kreis mit anderen Elementen zu kombinieren . Viel Drag-and-Drop hier und dynamische Größenanpassung von Unterabschnitten für Klarheit.

Um diese intuitive und einfach zu bedienen würde ziemlich viel Arbeit, aber für einige Anwendungen wäre es eine wirklich leistungsfähige Schnittstelle.

+0

Diese Antwort sollte mehr Liebe bekommen. Zugegeben, es bietet kein Beispiel wie gewünscht, aber es ist eine äußerst kreative und originelle Antwort und könnte als Inspiration für ein wirklich cooles, bahnbrechendes UI dienen. Gute Antwort! –

0

Ich habe früher an einem System gearbeitet, in dem wir die Boolesche Logik ähnlich wie unten beschrieben haben.

Die rechten Spalten (Inner) und (Outer) bieten zwei Logikebenen.

 
Variable  Inner  Outer 
Condition1  And 
Condition2    Or 
Condition1  And 
Condition5    And 
Condition4    

Or more optimized... 

Condition4    And 
Condition1    And  
Condition2    Or 
Condition5 
2

TheBat! hat die beste Schnittstelle für die ich persönlich getroffen habe. (. Wird für die Mail-Sortierregeln)

Es geht:

Quellordner ist nicht einer von \\ Google \ Inbox

UND

Gegenstand endet mit „neuen Kommentar "

ODER Betreff passen" einige Zeichenfolge "

7

Hier ist ein Screenshot des Prototyps, den ich vor ein paar Jahren für eine Linux App gemacht habe. Sie könnten auf die +/- Symbole klicken, um Zeilen zu einer Gruppe hinzuzufügen, und auf die Schaltflächen "Neue hinzufügen ..." und "Letzte entfernen ..." klicken, um die unterste Gruppe zu entfernen.

Über jeder Gruppe waren ein paar Menubuttons, die die Auswahl von "AND Elemente, die übereinstimmen ..."/"ODER Elemente, die übereinstimmen ..." (außer für die erste Gruppe, die leicht variiert) und "ANY des folgenden "/" ALLE der folgenden ". Jede Zeile war typenbewusst. Wenn Sie also eine Zeichenfolge für die Variable ausgewählt haben, wären die Bedingungen "IS", "IS NOT", "BEGIN MIT" und so weiter. Für ganze Zahlen würden Sie "IS", "GRÖSSER ALS" usw. erhalten und für Daten "EIN", "VOR", "EIN ODER VOR" und so weiter.

Wo Sie das Wort "oder" vor der zweiten und dritten Zeile der ersten Gruppe sehen, wäre das "oder" wenn "ANY of the following" ausgewählt wurde, und "und" wenn "ALLES der folgenden: "wurde ausgewählt, um die Auswahl zu verstärken und das Lesen des Dialogs zu erleichtern.

Es würde Sie keine vorstellbare Frage machen lassen, aber ich denke, es deckt ungefähr 90% von dem ab, was ein durchschnittlicher Benutzer tun würde, und tat es in dem, was ich für einen ziemlich brauchbaren Weg hielt.

screenshot of db query form http://www1.clearlight.com/~oakley/dbquery.jpg

0

Es ist eine Art spezifisch seine Domäne, aber f-spot hat eine schöne Art und Weise, dies zu tun. Es handelt sich um eine Fotoverwaltungssoftware. Wenn Sie auf eines der Tags klicken, um Bilder nach Tags zu suchen, wird oben in den Suchergebnissen eine Leiste angezeigt. Sie können dann Tags auf diese Leiste ziehen und dort ablegen. Klicken Sie mit der rechten Maustaste, um die Negation auszuwählen, und ziehen Sie die Tags in der Leiste, um sie in und und zu gruppieren. Ich bin nicht sicher, wie gut das für Tonnen von Tags (oder nicht aufgezählten Bedingungen) skaliert, aber es ist todt einfach, herauszufinden und schön interaktiv.

1

prüfen eine der Live-Demos für EasyQuery aus:

http://devtools.korzh.com/easyquery/livedemos/

Es ist kommerzielle Software, aber die „Bedingungen“ Abschnitt können Sie einzelne Bedingungen oder Gruppen von Bedingungen hinzufügen, die viel von der Komplexität beseitigt aus Klauseln mit mehreren ANDs und/oder ORs. Es ist sehr gut gemacht und einfach zu bedienen.

(I nicht mit dem Unternehmen assoziiert EasyQuery bin, gerade beeindruckt mit ihrem Query Builder.)

EasyQuery screenshot

Verwandte Themen