2017-05-18 5 views
0

FILE LOCATIONSというテーブルがあり、フィールドが3つあります。 サプライヤ(ベンダ名) 価格リストの場所例えば、C:\ユーザー\ジョー\ダウンロード) 価格表ファイル名(ファイル名をインポートする、例えばtest.xlsxスプレッドシートを開くときに使用するファイル名のテーブルを読み取るためのVBAコードへのアクセス

私は、VBAについてほとんど知らないし、オンラインチュートリアルを検討していますが、長い道のりを持っています

私はいくつかのvbaコードを次のようにするボタンの背後に置こうとしています:

ここで私は

Dim filename As String 
Dim myfile As Variant 

Dlookup("[Price File Location]", "FILE LOCATIONS", "[Supplier] = Jones"   

DoCmd.TransferSpreadsheet acImport, 10, "JonesImport", filename, True, "" 

Beep 
MsgBox "Finished Importing Merit Price List", vbOKOnly, "" 
を開発しようとしてきたいくつかのコードだテーブルにサプライヤー「ジョーンズ」を検索して、TransferSpreadsheetの機能

とスプレッドシートのインポートに使用するファイルのパスと名前を返します

さらに高度なものから、VBAを学ぶ良い方法をお勧めしますか?

答えて

1

テキストフィールドは、'または二重引用符"で囲む必要があります。 "[Supplier] = 'Jones'"

は、以下を参照してください。

Sub Import() 

    'get concatenated file path + file name from table 
    Dim filename As String 
     filename = DLookup("[Price File Location] & '\' & [Price List FileName]", "FILE LOCATIONS", "[Supplier] = 'Jones'") 

    'validate path 
    If Len(Dir(filename)) = 0 Then 
     MsgBox "File not found...", vbExclamation 
     Exit Sub 
    End If 

    'import 
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "JonesImport", filename, True '.xlsx 

    MsgBox "Finished Importing Merit Price List", vbOKOnly, "" 
End Sub 

他のリソースの多くはbegginerから上級レベルまでインターネットnowdaysにあります。

幸運を祈る!

+0

すぐにお返事ありがとうございます!私はロジックに従いますが、dLookup文の行で型の不一致エラーが発生しています – Hilly1

+0

パスセパレータにエラーがありました。今すぐお試しいただけますか? –

+0

完璧なKostas!どうもありがとうございます!あなたは私の締め切りを打ちのめしました。どうしたらいいですか?私は投票するか何かをしなければなりませんか? – Hilly1

関連する問題