2017-11-12 17 views
0

MS Accessでは、i.aでテーブル「ファイル」があります。フィールド "title"と "fileLocation"。
私が持っていたいのは、選択したレコードが参照しているファイルを開くボタンです。言い換えれば
テーブルまたはクエリで選択した行のフィールドを使用するMS Access

  1. 私は
  2. テーブル「ファイル」を開くには、通常、右のレコード全体が今選択されている私は
  3. を開きたいファイルのフィールド「タイトル」で検索を実行しますボタンをクリックするが、OPもちろんファイル

を、私も時間に「のFileLocation」でパス全体が、時間のドライブ文字の変更を置くことができるはずです

  • ...

    ボタンの後ろのVBAコードは、このようなものでなければなりません:私はここに同様の質問を発見した

    Sub buttonClickHandler() 
    Dim fLocation As String 
    fLocation = files."current selected record".fileLocation 
    
    If (Dir("D\fileLocation") <> "") 
    Then (Application.FollowHyperlink "D\fileLocation") 
    Elseif (Dir("E\fileLocation") <> "")      
    Then (Application.FollowHyperlink "E\fileLocation") 
    ... 
    Else (MsgBox "File not found") 
    End Sub 
    

    How do I access the selected rows in Access?
    しかし、私はまだでそのコードを使用する方法を発見していませんテーブルまたはクエリの代わりに、フォーム、事前

  • +2

    これは簡単です:フォームを使用するだけです。テーブルやクエリはそのようなものを意図したものではありません。データシートビューを使用すると、同様の外観にすることができます。 –

    答えて

    0

    感謝Erik von Asmuthからのコメントと回答実際にはHow do I access the selected rows in Access?になりました。

    1. テーブルからフォームを作成し、同様にクラスオブジェクトを作成します。1000年
    2. セットタイマ間隔(私は唯一の列ビューでフォームを知っていた前に)データシートとしてビューを使用:

    Dim previousSelection As Integer 
    
    Private Sub Form_Open(Cancel As Integer) 
        previousSelection = 0 
    End Sub 
    
    Private Sub Form_Timer() 
        If Me.SelHeight <> 1 Or Me.SelTop = previousSelection Then Exit Sub 
    
        previousSelection = Me.SelTop 
        With Me.RecordsetClone 
        .MoveFirst 
        .Move Me.SelTop - 1 
        openFile ("path/to/file") 
        End With 
    End Sub 
    
    Sub openFile(fileName As String) 
        If (Dir("D:\" & fileName) <> "") Then 
        Application.FollowHyperlink ("D:\" & fileName) 
        ElseIf (Dir("E:\" & fileName) <> "") Then 
        Application.FollowHyperlink ("E:\" & fileName) 
        Else 
        MsgBox ("File not found") 
        End If 
    End Sub 
    

    選択した行を変更するたびに、関連するファイルが開きます。