Insert Problem



  • Hallo Community,

    ich habe ein kleines Problem.
    Ich möchte daten in meine Excel-Datei eintragen.
    Für diesen Zweck arbeite ich mit der ODBC.
    Nun das eigentliche Problem ist das schreiben mit insert.

    das lesen fluppt:

    Database1->Connected=true;
    Query1->SQL->Clear();
    Query1->SQL->Add("Select `Tabelle1$`.`Wert` From `Tabelle1$` group by `Tabelle1$`.`Zählpunkt`");
    Query1->Open();
    Query1->Active=true;
    

    Aber beim schreiben bekomme ich eine fehlermeldung :

    Database2->Connected=true;
    Query2->SQL->Clear();
    Query2->SQL->Add("insert into `test2$`");
    Query2->SQL->Add("(`wert1`,`wert2`)");
    Query2->SQL->Add("values ('E29','8')");
    Query2->ExecSQL();
    Query2->Active=true;
    

    EDBEngineError with message 'Key Violation. [Microsoft][ODBC Excel Driver] Operation muss eine aktualisierbare Abfrage verwenden.'. Process
    stopped.

    Was mache ich falsch ?

    Thx

    Marek



  • Die Zeile

    Query2->Active=true;
    

    solltest Du weglassen. Active auf true zu setzen ist dasselbe wie Open() aufzurufen. Und das ist nur für Statements gültig,
    die eine Datenmenge zurückliefern, also SELECT-Statements. Kann aber sein, dass das nur ein Teil Deines Problems ist.

    Warum hast Du eigentlich überall Akzente ("`") verwendet?

    Gruß,

    Alexander



  • Vielen dank für die Schnelle antwort.

    Warum hast Du eigentlich überall Akzente ("`") verwendet?

    Weil ich es nicht anders gelernt habe (bzw. gelesen 🙂 ).

    Dein Tipp mit den Active weglasen hat leider nichts gebracht selber fehler.



  • Werde mich mal regen... dann kann ich die beiträge editieren.

    Das problem löse ich durch ne Access Tabelle, damit geht es (seltsamm).


Anmelden zum Antworten