hallo Leute,
habe im Navigator eine sql-Abfrage entworfen, die bestimmte Datensätze aus einer Datei anzeigt.
Nun möchte ich diese Abfrage diversen Anwendern zur Verfügung stellen,
die sich damit Datensätze eines gewünschten Datums anzeigen sollten.
Ich stelle mir vor, die Datei mit den sql-Statements den Benutzern zur Verfügung zu stellen,
diese sollten aber das jeweilige Datum auswählen können.
So eigentlich gar nicht.
Ein Anwender kann mit SQL eher weniger anfangen, was soll er dann auch mit der Anzeige machen?
Du kannst aber per Excel Daten auch parametriert abfragen.
Starte einfach Excel, lade dir die Daten per "Daten->externe Daten" und MS-Query herunter.
Parameter kannst du einfach per "?" einsetzen und später sogar explizit Zellen zuordnen.
Wenn alles steht, gibst du die neuen Werte in die Zellen und drückst "Abfrage aktualisieren" in der Symbolleiste.
Beispiele gibts hier im Forum.
Allerdings ist das nur Stückwerk.
Eine richtige BI-Lösung (Business Intelligence, Datawarehouse) wäre sowieso besser.
Hallo RR,
auf keinen Fall würde ich den Anwendern direkt SQL-Möglichkeiten geben, wo sie alle Dateien frei auswählen können.
(Hatten wir mal, aber abgesehen von Sicherheitsaspekten kamen die Anwender immer wieder mit selbsterstellten Auswertungen, wo die Daten nicht stimmten, weil die Anwender halt nicht alle Sonderfälle kennen.)
Wir machen es so:
Der Anwender bekommt von der IT im Menüsystem einen *CMD-Aufruf, in das er seine Parameter einpflegen kann. Hier ist sogar eine rudimentäre Hilfe- und Bedienerführung möglich.
Dieses CMD ruft ein CL-*PGM auf, das ggf. noch ein paar Dinge ergänzt und anschl. ein *QMQRY mit den eingegebenen Werten als Parameter aufruft.
Dieses QMQRY zeigt die Daten entweder am Bildschirm an, oder erzeugt eine Datei in QTEMP, die der Anwender dann per eMail als Excel-Datei bekommt.
Das ist das ganze in Kurzform.
Die Anwender haben sich nur kurz gewehrt, dass man ihnen den freien Query-Zugriff genommen hat, allein schon durch den Komfort mit der automatische Mail.
Das erste Programm dieser Art hat etwas länger gedauert, aber jetzt geht es ratz fatz. Mittlerweile haben wir 200 Reports in 7 Jahren mit dieser Technik - hat sich also gelohnt :-)
Hallo,
wir verwenden für solche Sachen VBA in Excel. Den VBA-Code haben wir mit Kennwort geschützt. Darin sind die entsprechenden SQLs (und noch weiterer Code z.B. zur Aufbereitung) vorhanden. Mit diesem SQL wird per ODBC oder OLE DB direkt mit einem Standard-Benutzer auf die AS/400 zugegriffen und die Daten ermittelt, die in ein Ergebnis-Tabellenblatt eingefügt werden.
Im Haupt-Tabellenblatt können Parameter ausgewählt bzw. eingegeben werden, die in das SQL-Statement übernommen werden. Somit können je nach Anforderung die Benutzer sehr variabel Auswertungen erstellen. Funktioniert bestens und entlastet die IT-Mitarbeiter ungemein :-)
wir haben das Tool i Paket gerade in der Fertigstellung und Abfragen die in Query möglich waren
können damit abgelöst werden.
Durch einen Import werden Querydefinitionen entweder als Query oder als SQL
eingelesen und können von der IT modifiziert werden.
Über variable Parameterfelder werden der Abfrage die Felder zugeordnet
und der User erhält bei dem Abruf einen dynamischen Bildschirm
in dem die Werte eingetragen werden.
Die Reportausgaben stehen als PDF, Excel, XML oder TXT Datei zur Verfügung.
Für ad hoc Abfragen und als Query Ablösung eine gute Alternative.
Selbstverständlich bietet i Paket noch mehr
* i Query
Abfragen mit Query oder SQL
* i Adress
eine komplett variabel aufgebaute Adressverwaltung
* i Chat
ein Chatsystem
* i Views
ein Ersatz für den STRSQL
und Objektviews auf Tabellen und Objekte etc.
* i Projekt
das als Planungs, Helpdesk und Dokumentationtool
verwendet werden kann
Schön, dass es immer neue Lösungen zum selben Thema gibt.
Damit wird es für die Endanwender immer schwieriger sich für eine Lösung zu entscheiden und bleiben damit meist auf ihren eher schlechten Ansätzen stehen.
ich wollte das gerade mal ausprobieren, man weiß ja nicht wann man das mal gebrauchen kann, aber mir ist schleierhaft wann denn das ? gesetzt werden soll.
Wenn ich MS-Query in Excel 2007 starte, dann kommt die Frage nach der Datenquelle, nach den Spalten und nach dem Filter. Dort kann ich aber kein ? einsetzen sondern nur feste Größen. Die Angabe der Parameter sehe ich nicht.
Kannst Du mir bitte einmal kurz auf die Sprünge helfen?
Der MS-Query ist da ein wenig gemein.
In den Kriterien kann man an Stelle eines Wertes einen Parameter, z.B.: "=[Name]" eintragen.
Bei der Ausführung erscheint dann ein Eingabefenster.
Da die AS/400 benannte Parameter nicht unterstützt, schalte kurz in die SQL-Sicht um und gib dann halt deinen "select ... where Key=? ..." ein.
Wenn du dann wieder in die Tabellensicht zurückschaltest wird dies (meistens) vom MS-Query korrekt angezeigt, ansonsten kannst du halt in der SQL-Sich alles machen wie du willst.
Ist der Query dann im Excel ausgeführt kannst du nun über die Eigenschaften-Seite jedem Parameter eine Zelle zuweisen.
Bookmarks