2016-03-23 15 views
1

Ich habe eine ziemlich seltsame Sache passiert mir, wenn ich eine Tabelle in den Zugriff importieren.Tabelle laden VBA vs Eingebaute Funktion

habe ich versucht, diese Möglichkeiten in drei tun ...

Zunächst importieren ich die Tabelle (aus einer Textdatei) die in Funktionalität gebaut unter Verwendung von und mit definierten (und gespeichert) die Importspezifikation alles funktioniert tickety- buh.

Als nächstes starte ich den Upload erneut, indem ich ein Makro erstelle, aber mit Bezug auf die Importspezifikationsdatei, die ich oben gespeichert habe.

Das Problem ist, einige der Import-Spezifikationen nicht halten, wenn ich es so mache, insbesondere habe ich angefordert, dass ein Feld Indexierung hat (keine Duplikate), aber wenn es mit dem Makro lädt legt es die Felder Indexierung zurück zur Standardposition zurück zu "Nein"

Ich habe auch versucht, die Tabelle mit VBA (mit Bezug auf die gleiche Importspezifikationsdatei) zu laden, aber das gleiche Problem auftreten.

Kann jemand die Integrität der Indizierung beibehalten, wenn automatische Lasten basierend auf Spezifikationsdateien ausgeführt werden?

Antwort

0

Eine der einfachsten Methoden zum Steuern des Uploads (wenn das Upload-Szenario dynamisch geändert werden muss) besteht darin, benutzerdefinierten VBA-Code zum Erstellen und Ausfüllen der Tabelle mit Datum aus der Quelle zu verwenden. Der Grund dafür ist meines Erachtens, dass das Spezifikations- und Export/Import-System in Access funktioniert, aber schwach ist und über ziemlich niedrige Tools verfügt, um es via VBA zu verwenden, weil es hauptsächlich für Hand-Import/Export mit Access-Schnittstelle erstellt wurde.

PS von benutzerdefinierten VBA-Code, ich meine den Code, der integrierte Importfunktionen absolut vermeiden. Dies ist wiederum nur sinnvoll, wenn Ihr Import-/Export-Szenario dynamisch ist und in einem Prozess getroffen werden muss. Wenn es statisch ist und mit Standardfunktionen erstellt werden kann, tun Sie es einfach per Hand mit einem Schritt-für-Schritt-Assistenten und rufen Sie es anschließend mit Ihrem VBA-Code ohne Änderungen auf.