2017-10-23 7 views
1

Ich versuche, eine einfache VBA in Zugriff schreiben, die eine Tabelle in eine andere Access-Datenbank kopiert und benennt es um.Zugriff VBA copyobject Fehler

Hier ist mein Code:

sub copy_table() 

    dim destDB as string 
    destDB = "Y:\GDA_files\MI1.mdb" 

    docmd.copyobject destDB, "Progress tracking 1", acTable= acDefault, "Progress tracking " & date 

end sub 

aber ich Nachricht

Laufzeitfehler '2501' erhalten: Es wurde

Die Copyobject Aktion

abgesagt Ich habe keine Ahnung, warum dieser Fehler auftritt. Irgendwelche Ideen?

Antwort

0

Haben Sie versucht, den Tabellennamen zwischen den Anführungszeichen zu setzen?

Tabellennamen können beliebige gültige Zeichen (z. B. Leerzeichen) enthalten. Wenn Tabellennamen beliebige Zeichen außer Buchstaben, Zahlen und Unterstrichen enthalten, muss der Name durch Eingrenzen in umgekehrte Anführungszeichen (`) begrenzt werden.

in https://docs.microsoft.com/en-us/sql/odbc/microsoft/table-name-limitations

0
DoCmd.CopyObject(DestinationDatabase, NewName, SourceObjectType, SourceObjectName) 

Sie haben wahrscheinlich die NewName und SourceObjectName Parameter gemischt.

Und acTable= acDefault macht keinen Sinn.

Versuchen:

' this will sort table names chronologically 
strNewName = "Progress tracking " & Format(Date(), "yyyy-mm-dd") 

DoCmd.CopyObject destDB, strNewName, acTable, "Progress tracking 1"