[NEWSboard IBMi Forum]

Thema: SQL aus Excel

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    53

    Question Rückfrage

    Hallo,

    danke für die schnelle Antwort, ohne Abfrage "knallt" es beim 2.Lauf, denn die Tabelle ist ja schon da, dann:

    Dim RCD As ADODB.Recordset oder?
    und dann den Select, worauf ???
    (select lib/file)

    es lief durch und keine Fehlermeldung mehr, hatte :

    ...

    'SqlStatement
    SQL = "create table blabla.sql001(feld1 integer not null, feld2 varchar(15), primary key (feld1))"
    '.. ausführen

    on error resume next
    err.clear
    set rcd = cnn.execute("select blabla/sql001")
    if err.number <> 0 then
    SQL = "create table blabla.sql012(feld1 integer not null, feld2 varchar(15), primary key (feld1))"
    '.. ausführen
    cnn.Execute SQL
    end if
    ' Verbindung schliessen
    cnn.Close
    End Sub


    Eine sql012 gibt es leider nicht und auch keine Fehler ! Wo ist mein Fehler ?

    Danke im Voraus ERIC

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wie beim Create muss auch der Select bei qualifizierter Benennung einen Punkt verwenden "libname.tblname".

    Alternativ kannst du den CREATE ja genauso abfangen. Du bekommst in der err.Description einen Fehlercode geliefert.
    Das CNN-Object enthält auch genauere SQLSTATE-Codes nach einem Fehler.
    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
    Sep 2005
    Beiträge
    53

    Question KOMM NICHT WEITER, WO IST MEIN FEHLER

    Hallo,
    vielen Dank für die Rückinfo, nur ich
    komm da nicht weiter , kannst Du mir bitte mal den vollständigen Script geben ?

    ...

    wenn "lib/sql001" vorhanden,
    dann erstelle "lib/sql011", wenn "lib/sql011 vorhanden, dann EXIT

    hab da hin und her probiert, über den Fehler läuft er, nur dann auch wenn "lib/sql011" vorhanden, keine Fehlermeldungen mehr.
    Vielen Dank im voraus ERIC

  4. #4
    Registriert seit
    Apr 2004
    Beiträge
    105
    Zitat Zitat von Eric Beitrag anzeigen
    wenn "lib/sql001" vorhanden,
    dann erstelle "lib/sql011", wenn "lib/sql011 vorhanden, dann EXIT
    warum machst du es nicht so:
    1. lösche "lib/sql001" wenn vorhanden
    cnn.Execute "DROP TABLE IF EXISTS lib.sql001"
    2. erstelle "lib/sql001" neu
    cnn.Execute "CREATE TABLE lib.sql001(...)"

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    "if exists" kennt die AS/400 nicht.

    Ansonsten soll die Tabelle ja nur erstellt werden, wenn sie nicht da ist.
    Also einfach einen CREATE ausführen, wenn der Fehler kommt, ist die Tabelle wahrscheinlich schon da.
    Hierzu kann man dann per INSTR den SQL-Code aus der err.Description prüfen.
    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. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  2. Datum überlebt ODBC Transfer auf Excel nicht
    By jjagi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 07-07-06, 08:29
  3. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. SQL Error in Excel
    By Fritzchen in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 02-08-05, 08:42

Berechtigungen

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