2016-07-13 5 views
-1

Ich habe ein paar Tabellen, die ich mit einem Makro importieren und dann einige SQL-Abfragen ausführen, derzeit muss ich die Dateien umbenennen, bevor ich sie importiere und ihre Namen nach dem Import automatisch ändern möchte.Ändern der Tabellennamen mit VBA

Zum Beispiel habe ich eine Datei namens SSIReport() und möchte diese Tabelle in SSI_Data ändern. Ein Problem besteht darin, dass in den Klammern von SSIReport ein Datum steht, an dem die Datei generiert wird, so dass sie sich ändert. Hier ist ein wenig Code, den ich derzeit verwende, um Importfehlertabellen zu löschen, ich bin nicht sicher, ob es eine Möglichkeit gibt, diese in Umbenennungstabellen umzuwandeln.

For Each otable In CurrentDb.TableDefs 
If otable.Name Like "*ImportErrors*" Then 
CurrentDb.TableDefs.Delete otable.Name 
End If 
Next otable 
+0

Ich versuchte ein DoCmd.Rename obwohl mit wechselnden Dateinamen ich nicht sicher war, wie man ein LIKE in das einbezieht. Ich habe auch eine Schleife, die Importfehlertabellen löschte. – Rukgo

+0

Haben Sie eine Tabelle, sagen wir tblMatrix, dann können Sie das Teilwort haben, also SSI und dann den Tabellennamen, also SSI_Data, dann können Sie den Dateinamen in dieser Tabelle überprüfen und mit docmd.transferspreadsheet zurückgeben. Nicht im Zugriff auf mo, also nicht 100% sicher, das ist wahrscheinlich wo ich https://msdn.microsoft.com/en-us/library/office/ff844793.aspx starten würde –

+1

'DoCmd.Rename strNewName, acTable, strOldName' funktioniert. Ich bin mir nicht sicher, was das eigentliche Problem ist, das Sie haben. – Andre

Antwort

0

Es wäre viel einfacher, die Dateien vor dem Import umzubenennen.

+0

Also gibt es keinen ziemlich einfachen Weg, dies zu tun? – Rukgo

+0

Nicht mit einem Makro, denke ich, aber ich mache keine Makros. – Gustav

+0

Wenn Sie sagen, dass Makro, das den VBA-Codierungsaspekt enthält, korrekt ist? – Rukgo

0

So etwas sollte den Job erledigen.