Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige