[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    3

    Question Query starten mit VBA

    Hallo zusammen,
    ich habe mit VBA eine Verbindung zur AS400 erstellt. Nun möchte ich
    von VBA aus ein Query starten. Leider finde ich keinen Befehl mit dem ich
    dieses Query ausführen kann. Ich kenne leider den Befehl hierfür nicht,da
    ich kaum AS400 Erfahrung habe.

    Das habe ich bis jetzt gemacht:

    Dim myas400
    Dim mydtaq
    Dim myConv
    Dim myData
    Set myas400 = CreateObject("cwbx.As400system")
    Set mydtaq = CreateObject("cwbx.DataQueue")
    Set myConv = CreateObject("cwbx.StringConverter")
    myas400.Define "MYAS400"
    myas400.Connect 6 'cwbcoServiceDataQueues
    mydtaq.LibraryName = "rbgies"
    mydtaq.QueueName = "gitest"


    Set myas400 = Nothing
    Set mydtaq = Nothing
    Set myConv = Nothing



    Viele Grüße Ronald

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.267
    Was du da aufgebaut hast, dient der Programm-Programm-Kommunikation.
    Für eine Datenabfrage (Query) benötigst du eine ODBC-Verbindung und zwar genauso wie zu jeder anderen Datenbank auch.
    Du verwendest hierzu die Connection-, Command- und Recordset-Objekte das MS-ADO. Beispiele findest du hier im Forum unter "ADO".

    Hinweis: Mit dem Provider IBMDA400 gibt es nur eingeschränkte Funktionalität. Verwende besser den Standardprovider mit "DSN=MyDsn" und konfiguriere die ODBC-Verbindung mit dem CA-ODBC-Treiber.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Nov 2004
    Beiträge
    3

    Question Excel AS400 via ODBC

    Ok. Aber irgendwie find ich den Befehl (auch bei ODBC) nicht.
    ODBC erstellt immer eine neue SQL Abfrage. Wenn ich auf der
    AS400 ca 20 fertige Querys habe möchte ich diese "nur" von von
    Excel aus anstoßen.
    Etwa so. Starte Query 1
    Starte Query 2.....

    Vielleicht denke ich auch nur zu kompliziert.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.267
    Queries der AS/400 kannst du aus VBA nicht direkt aufrufen.
    Hierfür musst du ein CALL auf das Programm QCMDEXC mit dem Kommando RUNQRY absetzen.
    Ich glaube aber nicht, dass das das Gewünschte ist.

    Du musst die Queries in Excel neu definieren und kannst dann diese Abfragen jederzeit aus Excel aktualisieren (inkl. Parameter). VBA ist daufür absolut unnötig.

    Schau dir mal folgenden Beitrag an:
    http://www.rlpforen.de/showthread.ph...ht=excel+query
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Nov 2004
    Beiträge
    3

    Question QCMDEXC Syntax

    Auf die Gefahr hin das ich nerve.

    Ich gebe dir Recht, dass es einfacher ist Querys mit Excel neu zu
    erstellen. Diese vorhandenen Querys sind jedoch recht zahlreich und
    komplex (Join hin Join her..). Aus diesem Grund scheue ich mich
    (soll wie immer auch schnell gehen :-) )die Dinger neu zu erstellen.
    Darum wäre es schön, wenn du mir den Syntax für
    CALL bzw. QCMDEXC und das Komando RUNQRY aufschreiben könntest.

    Neue Querys erstelle ich ab jetzt in Excel.

    Gruß Ronald

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.267
    Das bringt insofern nichts, als dass du die Queries noch in eine Datei umleiten musst und diese dann erst per SQL (also Excel-Query) wieder runterladen kannst.

    Aber:
    Vielleicht hilft dir ja der RTVQMQRY !
    Mit diesem kannst du aus *QRYDFN-Objekten den Select in eine SRCPF konvertieren. Diese Source kannst du dann per Copy-Paste in den MS-Query (Ansicht SQL) kopieren.

    Allerdings gehen dir dabei die Gruppendefinitionen, Summen, Zwischensummen usw. verloren. Du erhältst den nackten Select.

    Was das QCMDEXC angeht, so gibt es auch hier entsprechende Beispiele, die du mit einem Command-Object und der Execute-Methode ausführen kannst. Allerdings benötigtst du trotzdem Programmieraufwand.

    Einfacher ist es mit Sicherheit (auch wenn es am Anfang nervt) die Queries nach MS-Query zu portieren.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. QueryManager / Query ---> Aufruf mit Variablen
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-11-06, 18:07
  2. Starten und beenden der AS/400
    By Klabautermann in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-09-06, 15:39
  3. Query Manager -_-
    By Azubiiiiii in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-08-06, 09:44
  4. Query und Datum
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 05-05-06, 12:37
  5. Von Excel aus Query starten und erstellen
    By smallutz in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 09-03-01, 08:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •