2016-05-25 2 views
0

Ich weiß, wie man Access eine Tabelle importieren lässt, indem man seinen Ort und Dateinamen angibt, aber im selben Ordner habe ich 3 ähnliche Dateien. Ich möchte, dass der Benutzer den gewünschten Inhalt importieren kann, indem er einen Wert in einer Combobox auswählt.MS Access: Wie kann Access nach einem Dateinamen suchen, basierend darauf, was ein Benutzer in einem Kombinationsfeld ausgewählt hat?

Wenn der Benutzer beispielsweise "A" aus der Combobox auswählt, sollte Access nach der Tabelle "Spreadsheet_A" suchen. Was ist die Syntax, um dies zu erreichen?

Was ich versucht habe:

Ich habe versucht, ein Makro und mit Hilfe der ImportExportSpreadsheet Aktion zu machen. Ich habe versucht, den Dateinamen als J:\blah\Spreadsheet_[Combo353] spezifiziert und auch J:\blah\Spreadsheet_+[Combo353] und sogar J:\blah\Spreadsheet_+"[Combo353] "aber sie alle den gleichen Fehler zurück:

The Microsoft Access database engine could not find the object 'J:\blah\Spreadsheet_[Combo353].xlsx. Make sure the object exists.....

ich positiv bin, dass der Weg richtig ist, ich brauche nur die Syntax wissen, wie man macht es den Wert in dem Kombinationsfeld verwenden, wenn nicht möglich, ich bin glücklich mit einer VBA-Lösung als auch


Lösung war eine zweiteilige Sache:.. schreibt die korrekte Syntax (siehe Antwort unten) und auch die strpath Variable

deaktivieren
+0

Überprüfen Sie Ihre Auswahlliste. Ist der Name der Tabelle, die angezeigt wird, die gebundene Spalte herunterzulagern oder ist eine ausgeblendete ID die gebundene Spalte? – Parfait

Antwort

3

Ihre Syntax ist nicht ganz richtig:

"J:\blah\Spreadsheet_" & [Forms]![MyFormName]![Combo353].Value & ".xls" 

Angenommen, der Code wird aus der Form läuft die Combobox enthält.

Der Pfad ist statisch, so dass eine Zeichenfolge betrachtet wird. Strings werden in doppelten Anführungszeichen gehalten. Dann wollen wir den Combo-Wert am Ende dieser Zeichenfolge hinzufügen. Wenn Sie einer Zeichenfolge eine Zeichenfolge hinzufügen, führen Sie "Verkettung" aus, die erfordert, dass das Und-Zeichen zeigt, dass die zwei Zeichenfolgen zusammengefügt werden sollen. Da die Combobox-Referenz das Steuerelement identifiziert, dessen Wert in die Zeichenfolge eingefügt werden soll, wird dies aus den Anführungszeichen weggelassen, sodass Access den Wert anstelle des Steuerelementnamens selbst auswertet.

+0

Das hat nicht funktioniert - ich habe den gleichen Fehler. – whatwhatwhat

+0

Der Code wird von einer Schaltfläche ausgeführt, die ich auf demselben Formular wie das Kombinationsfeld erstellt habe. – whatwhatwhat

+1

Ich denke, er verwendet Makro nicht 'VBA', so sollte es sein' = "J: \ Blah \ Spreadsheet_" & [Formulare]! [MyForm]! [Combo353] .Wert' – BitAccesser