Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Einfügen von abgefragten ODBC-Daten in Tabelle

Einfügen von abgefragten ODBC-Daten in Tabelle
04.07.2019 11:39:04
abgefragten
Hallo,
ich möchte Daten in einer Tabelle regelmäßig mit Daten aus einer Datenbank aktualisieren. Dazu ziehe ich per ActiveSheet.ListObjects.Add die Daten ab und füge sie in die bestehende Tabelle ein.
Das funktioniert so weit, jedoch werden sie als neue Spalten eingefügt, so dass ich die alten löschen müsste und es mir alle Formeln in der Mappe zerlegt.
Ist es möglich, die Daten über die bestehenden Daten zu überschreiben? (ggf. die alten Inhalte vorher zu löschen).
MERCI schonmal für Eure Tipps !
Sabina
Die Datenbankabfrage bzw. Einfüge-Code ist folgender:
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DRIVER={Ingres};SERVER=XVNODE;DATABASE=hdbla20;SERVERTYPE=INGRES;DATEALIAS=ingresdate;SENDDATETIMEASINGRESDATE=Y" _
, Destination:=Range("$B$1")).QueryTable
.CommandText = Array("SELECT * FROM hd_acc")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "DB_Abfrage"
.Refresh BackgroundQuery:=False
End With
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen von abgefragten ODBC-Daten in Tabelle
04.07.2019 11:50:06
abgefragten
Hallo Sabina,
Es ist immer wieder das Gleich mit dieser Art von "Programmierung":
Statt 1mal und nur 1mal deinen Code laufen zu lassen, werden bei jedem Lauf neue Query-Objekte eingefügt, was zu dem Durcheinander führt.
Vorgehen:
1. Code 1mal (am besten auf einem neuen leeren Blatt) laufen lassen.
2. Code löschen! Ab diesem Zeitpunkt nur noch:
3. Rechtsklick in den Datenbereich und Daten aktualisieren
Ggf. in den Eigenschaften der Abfrage die Option (x) Bestehende Daten mit neuen Daten überschreiben aktivieren, wenn sie noch nicht aktiviert ist.
Gruess Hansueli
Anzeige
AW: Einfügen von abgefragten ODBC-Daten in Tabelle
04.07.2019 12:10:47
abgefragten
Hallo Hansueli,
vielen Dank für Deine schnelle Antwort !
Ich habe aber nicht alles verstanden ;-} Was meinst Du mit Code löschen? Ich füge doch den (Abfrage-)Code nicht in die Excel-Tabelle ein. (Sowie bei einer Pivot-Tabelle, wo man nach Änderungen mit "Aktualisieren" die Daten anpasst.
Ich habe aber eine Lösung gefunden (manchmal hilft es schon, wenn man mal drüber spricht ;-)
Ich habe die Zeile mit der Eigenschaft ".RefreshStyle = " in "xlOverwriteCells" geändert.
Und nun klappt es. Ich setze vorher den bereits beschriebenen Bereich per Value auf "" (damit keine Reste überbleiben) und überschreibe dann die Zellen.
So bleibt der Bezug zu den Zellen erhalten und die Formeln funktionieren weiterhin.
Ich hoffe, dass Du und die anderen vba-Cracks nicht zu sehr die Augen verdreht über so zusammengebasteltes Halbwissen :-)
Und schönen Tag noch
Sabina
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige