PDA

View Full Version : Von Excel aus Query starten und erstellen



smallutz
13-02-01, 10:33
Wie kann ich von Excel aus einen Query starten bzw. ändern und in eine Datei ausgeben. Diese möchte ich anschließend auf einen PC-Übertragen und mit Excel aswerten.
Wie geht das?

sawolf
13-02-01, 10:59
Es gibt im Client ACCESS einen Befehl
RMTCMD damit kannst du einen Befehl an die
AS/400 uebergeben und das QRY im Batch Starten Z.b aber aender geht nicht denn da
musst du dich schon auf der as400 befinden
das uebertragen ist auch kein problem das geht mit RTOPCB also einfach in EXCEL ein Script schreiben das diese Programme mit den Richtigen PARM aufruft

schreibr
14-02-01, 07:34
Sie können aber auch im Excel ein MS-Query starten und dabei direkt auf die AS400-Daten zugreifen (Daten-Externe Daten-Neue Abfrage erstellen). Voraussetzung ist jedoch, dass der Client Access ODBC-Treiber auf dem PC installiert ist. Damit erreichen Sie vermutlich das gleiche Ergebnis, nur dass Sie kein Query auf der AS400 und kein Script auf dem PC benötigen.

smallutz
14-02-01, 09:21
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von schreibr:
Sie können aber auch im Excel ein MS-Query starten und dabei direkt auf die AS400-Daten zugreifen (Daten-Externe Daten-Neue Abfrage erstellen). Voraussetzung ist jedoch, dass der Client Access ODBC-Treiber auf dem PC installiert ist. Damit erreichen Sie vermutlich das gleiche Ergebnis, nur dass Sie kein Query auf der AS400 und kein Script auf dem PC benötigen.[/quote]
Das mache ich schon die ganze Zeit, aber es dauert mir zu lange mit VBA eine Datenbank mit mehr als 3 Mio Einträgen zu durchsuchen. Ich wollte, dass ich nur bestimmte Datensätze auf den PC kopiere und von da aus auswerte. Aber danke!

Liebhoff
14-02-01, 20:49
Statt MS Query sollte aus EXCEL der AS400 "Datentransfer von der AS/400" genutzt werden. Dabei kann man die Daten aus einer AS/400 Datei direkt selektieren. Zum Aufruf der Funktion gibt es ein Symbol in EXCEL ( das Buch ) oder über das Menü.

schreibr
15-02-01, 07:22
Dann fällt mir doch ganz spontan ein von uns realisiertes CL-Programm ein. Dies sieht wie folgt aus:
1.Query-Abfrage absetzen
2.STRPCO /* PC-Organisator starten */
3.STRPCCMD PCCMD(PGM) PAUSE(*NO)
Im Parameter PCCMD steht dann z.B. der Name der Excel-Tabelle (mit kompletter Pfadangabe). Die Excel-Tabelle ruft dann automatisch ein MS-Query auf, welches die AS400-Datei lädt.
Habe ich zwar so noch nicht so probiert, müsste jedoch klappen. Es würde mich interessieren, ob das geht --- Bitte um Rückinfo !

hpw
08-03-01, 17:50
>Das mache ich schon die ganze Zeit, aber es >dauert mir zu lange mit VBA eine Datenbank >mit mehr als 3 Mio Einträgen zu >durchsuchen. Ich wollte, dass ich nur >bestimmte Datensätze auf den PC kopiere und >von da aus auswerte. Aber danke!

es sollte von der performance gleich sein, ob ein query auf der as läuft, oder ein sql über odbc übergeben wird. beide laufen auf der as. hierbei muss bei dem query auf der as noch die outfile geschrieben werden - zusätzlicher arbeitsschritt.

Günther
09-03-01, 09:50
die Antwort von hpw kann ich nur bestätigen;

ergänzend dazu ist festzustellen, dass für eine zufriedenstellende Performance eine den Auswahlkriterien entsprechende logische Datei vorhanden sein sollte, dann spielen auch 3 Mio Datensätze keine Rolle;
im übrigen ist ein SQL-Befehl wie es MS-Query absetzt i.d.R. schneller als ein Query