Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
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

QueryTables.Add - immer gleiche Datei

QueryTables.Add - immer gleiche Datei
05.08.2021 22:03:25
Norman
Hallo zusammen,
ich habe vor einigen Tagen schon einmal etwas über ein Sharepoint-Problem geschrieben - ich denke, dass auch dieses Problem jetzt damit zusammenhängt.
Ich arbeite in einem Warenverteilzentrum und jeden Abend wird ein Lagerspiegel generiert, wovon ich dann die letzten Beiden einlese und weiterverarbeite. Das geschieht in einer Schleife. Der relevante Code folgt:

Worksheets("Import_LX03").Activate
With Worksheets("Import_LX03").QueryTables.Add(Connection:="TEXT;" & _
varName, Destination:=Range("A" & lngTotalRowsImportLX03))
.Name = "new_ohne_1"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 8
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(9, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With   
Das funktionierte super, bis der neue SharePoint kam. Zur Info: Varname bekommt nach dem ersten Durchlauf ein anderes Datum im Pfad, der Pfad verweist zum SharePoint. Ziel war es, den Büroleuten hier die Arbeit so leicht wie möglich zu machen (ist eigentlich nur auf den Knopf drücken). Manuell würden diese Berechnungen mindestens 30 Minuten dauern. Dank dem Makro => Auswertung per ADO => max. 2 Minuten.
Von daher ist es schade, diese Möglichkeit nun nicht mehr zu haben. Es gibt jemanden mit gleichem Problem, der aber auch keine Lösung bekommen hatte:
https://stackoverflow.com/questions/52081096/querytables-add-in-vba-adds-same-file-regardless-of-filepath
Man kann es kaum jemanden erzählen und es ist schon fast unheimlich. Workbooks.Open öffnet übrigens die richtige Datei. Bin gespannt auf Eure Antworten!
Liebe Grüße
Norman

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: QueryTables.Add - immer gleiche Datei
06.08.2021 13:50:09
Yal
Hallo Norman,
idealerweise gelingt es dir eine Sharepoint-Abfrage unter laufenden Makro-Rekorder zu herstellen, den genau diese Zeile mit der Connection ist die relevanteste.
Als aussenstehenden kann man nicht die Connectionsstring nachbauen.
VG
Yal
AW: QueryTables.Add - immer gleiche Datei
07.08.2021 09:59:53
Luschi
Hallo Norman,
mit jedem Aufruf von 'With Worksheets("Import_LX03").QueryTables.Add(...)' erzeugst du eine neue Abfrage einschließlich neuer Verbindung. Ich habe schon Excelmappen gesehen mit 100-en Queries und immer mit der Verbindung zur selben Datei bzw. Access-/SQL-Server-Abfrage und der Anwender wunderte sich, warum das System immer lahmer wurde.
Hier muß eine Schleife rein, die abprüft, ob eine gesuchte Verbindung schon existiert und diese dann nehmen und aktualisieren oder die gerade erstelle Abfrage zum Schluß wieder löschen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: QueryTables.Add - immer gleiche Datei
07.08.2021 12:38:37
Norman
Hallo Luschi,
nein, daran hat es nicht gelegen. Auch wenn ich die Schleife rausnehme, also nur eine Datei einlese, ist diese falsch. Übrigens ist das seit der Migration so, vorher hatten wir einen anderen SharePoint und da gab es dieses Problem nicht.
Trotzdem ist das mit den Connections plausibel - hat aber nicht daran gelegen. Trotzdem danke für den Tipp. Es ist nicht das einzige neu aufgetretene Problem. Ich kann die Dateien auch nicht mehr per Makro auschecken wenn:
- eine Datei korrupt war (trotz sauberen Ersatzes)
- ich das Öffnen der Datei (die sind groß!) abbreche
In beiden Fällen liefert Workbooks.CanCheckOut FALSE
Ändere ich den Namen oder verschiebe die Dateien, geht das ohne Probleme. Auch dieses Phänomen gab es vorher nicht. Ich bin nicht sicher, aber ich meine der Fehler tritt auf wenn eine Datei aus o.g. Grund nicht ausgecheckt werden kann. Da es sich um Dateien von 300.000 Zeilen + handelt, die leider gar nicht so selten korrupt sind (bekomme dann eine Fehlermeldung beim Öffnen der Datei), ist der Fehler bzw. das Problem eigentlich immer latent vorhanden.
Liebe Grüße
Norman
Anzeige

64 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige