none
Wie kann ich meine gesamte Tabelle aktualisieren?

    Frage

  • Hallo zusammn

    zunächst müss ich mein Szenario bissel klar machen:

    Ich will die Daten in einer Tabelle zusammenfassen und dann die zusammengefasste Daten in einer neuen Tabelle reinschreiben.Das ist meine Abfrage zum schreiben die Daten in der neuen Tabelle:

    SELECT DISTINCT tb_KonzeptDaten.DFCC,

    tb_KonzeptDaten.OBD_Code AS Konzept_Obd,tb_KonzeptDaten.DFC

    INTO Test_Table FROM tb_KonzeptDaten

    Die Tabelle tb_KonzeptDaten wird ziemlich oft aktualisiert, deswegen muss auch die neue Tabelle auch neu generiertoder aktualiesiert werden

    Mein Problem ist:

    falls ich dieser Code in VBA schreibe, passiert dieser Fehler:

    Set db = CurrentDb
      ssql = "SELECT DISTINCT tb_KonzeptDaten.DFCC,  " _
      & "tb_KonzeptDaten.OBD_Code AS Konzept_Obd,tb_KonzeptDaten.DFC " _
      & "INTO Test_Table FROM tb_KonzeptDaten"
      db.Execute ssql, dbFailOnError
      RecordsUpdated = db.RecordsAffected

    Error 3010 Tabele 'Test_Tabelle' bereit vorhanden

    Wie kann ich diese Tabelle aktualiesieren(ohne Bedarf zur generierung die neue Tabelle)?

    oder Habt ihr vllt. eine bessere Idee?

    Dienstag, 4. September 2012 09:38

Antworten

  • Hallo,

    mit dem "SELECT ... INTO Tabellenname" wird immer einen neue Tabelle angelegt; was nicht geht, wenn die Tabelle bereits vorhanden ist, daher die Fehlermeldung bei Dir.

    Daten in eine vorhandene Tabelle einfügen kannst Du mit der INSERT INTO ... SELECT Anweisung:

    INSERT INTO Test_Table (DFCC, OBD_Code, Konzept_Obd, DFC)
    SELECT DISTINCT tb_KonzeptDaten.DFCC,  tb_KonzeptDaten.OBD_Code AS Konzept_Obd,tb_KonzeptDaten.DFC 
    FROM tb_KonzeptDaten


    Olaf Helper
    Blog Xing

    • Als Antwort markiert babak.per Donnerstag, 13. September 2012 06:37
    Dienstag, 4. September 2012 10:01
  • Dann lösch vorher die alten Daten aus der Tabelle raus.

    DELETE * FROM Test_Table;

    Oder wie soll es ablaufen?

    Olaf Helper
    Blog Xing

    • Als Antwort markiert babak.per Donnerstag, 13. September 2012 06:36
    Dienstag, 4. September 2012 10:47

Alle Antworten

  • Hallo,

    mit dem "SELECT ... INTO Tabellenname" wird immer einen neue Tabelle angelegt; was nicht geht, wenn die Tabelle bereits vorhanden ist, daher die Fehlermeldung bei Dir.

    Daten in eine vorhandene Tabelle einfügen kannst Du mit der INSERT INTO ... SELECT Anweisung:

    INSERT INTO Test_Table (DFCC, OBD_Code, Konzept_Obd, DFC)
    SELECT DISTINCT tb_KonzeptDaten.DFCC,  tb_KonzeptDaten.OBD_Code AS Konzept_Obd,tb_KonzeptDaten.DFC 
    FROM tb_KonzeptDaten


    Olaf Helper
    Blog Xing

    • Als Antwort markiert babak.per Donnerstag, 13. September 2012 06:37
    Dienstag, 4. September 2012 10:01
  • Hallo Olaf,

    danke für deine Antwort aber durch diese Abfrage werden wieder alle Daten hinter die alte Daten  in der Tabelle geschrieben ( die Datensätze in der Tabelle werden verdoppelt) und ich will so nicht

    Dienstag, 4. September 2012 10:31
  • Dann lösch vorher die alten Daten aus der Tabelle raus.

    DELETE * FROM Test_Table;

    Oder wie soll es ablaufen?

    Olaf Helper
    Blog Xing

    • Als Antwort markiert babak.per Donnerstag, 13. September 2012 06:36
    Dienstag, 4. September 2012 10:47