2016-08-03 9 views
-1

テーブルのフィールドに選択したファイル名とファイルパスを保存しようとしています。私はフォームを使用してボタンを挿入し、ファイル名とパスをmsgboxに取得するためにオンラインで見つけたコードを適用しています。MS Access - ファイル名とファイルパスをテーブルのフィールドに保存する

Private Sub Command0_Click() 

    Dim f As Object 
    Dim strFile As String 
    Dim strFolder As String 
    Dim varItem As Variant 

    Set f = Application.FileDialog(3) 
    f.AllowMultiSelect = True 
    If f.Show Then 
     For Each varItem In f.SelectedItems 
      strFile = Dir(varItem) 
      strFolder = Left(varItem, Len(varItem) - Len(strFile)) 
      MsgBox "Folder: " & strFolder & vbCrLf & _ 
       "File: " & strFile 
     Next 
    End If 
    Set f = Nothing 

End Sub 

誰が私を助け、私は今(フィールド先は「ImageFilePath」&「ImageFileName」と呼ばれている)私のテーブル内のフィールドにメッセージボックスの結果のデータを取得する方法を説明してもらえます。

ありがとうごあいさつ

+0

Thsiは新しいレコードを追加して何かを試してみる基本的なmsアクセスデータベースです。これはあなたが共有している関連コードではありません – dbmitch

答えて

0

ここには微調整スニペットがあります。関連するテーブルのレコードセットに項目を追加して、外部キーに完全なファイル名/パスを格納します。 Save ASを使用してすべての鉱山をフォルダに移動します。

dim obj as object 
dim rsimg as dao.recordset 
Set obj = CreateObject("WScript.shell") 
Set rsimg = CurrentDb.OpenRecordset("tbltostorefilenameswforeignkey", dbOpenDynaset) 
Set fdialog = Application.FileDialog(msoFileDialogFilePicker) 
With fdialog 
    .AllowMultiSelect = True 
    .Title = "Select Images To Add - Multiples OK" 
    .InitialFileName = obj.specialfolders("desktop") 
    .InitialView = msoFileDialogViewLargeIcons 
    .Filters.Clear 
    .Filters.Add "Images", "*.jpg,*.gif,*.png" 
    If .Show = True Then 
     For Each varfile In .SelectedItems 
     Name varfile As Currentproject.path & "\yourfilefoldername" & "\" & Right(varfile, Len(varfile) - InStrRev(varfile, "\")) 
     rsimg.AddNew 
     rsimg("ItemId") = Me.ID 
     rsimg("filepath") = Currentproject.path & "\yourfilefoldername" & "\" & Right(varfile, Len(varfile) - InStrRev(varfile, "\")) 
     rsimg.Update 
     Next varfile 
    End If 
End With 

だけレコードごとに一つのファイルを使用して、テーブルに保存したい場合は、.allowmultiselect = falseを設定し、for each nextループを削除し、あなたはそれを得たようvarfileの代わりにちょうど.selecteditems.item(1)

を使用、

dim itm as string 
itm = f.selecteditems.item(1) 
me.imagefilename = dir(itm) 

とフォルダパス

0

に同じ私はあなたのコードを使用してMSG後私が追加したボックスライン(私には "FieldNameあなたはパスを保存したい")。 value = strFolder & strFile)、それは情報を表示した後、自分のフィールドにパス全体を保存しました

関連する問題