2017-10-11 9 views
0

現在、私は 'ID'フィールドが複数の他のフィールドの組み合わせによって自動的に生成されるテーブルを持っています。例:ID = '2017_FileName_Chancellor' 私はIDを貼り付けることを手動でコピーせずに添付ファイルの名前を変更せずに、この添付ファイルの名前をそのIDに変更する方法を見つけようとしています。何千ものレコードのためにそれを行うときには面倒です。とにかくこれをするために私にはありますか?私はVBAに知識がないので、それを改ざんすることはできませんでした。デスクトップ上のファイルの名前を変更するにはテーブル内のフィールドへのアクセスで添付ファイルの名前を変更しようとしています

Private Sub Command15_Click() 
    Dim NewName As String 
    Dim NewNameWithExt As String 

    NewName = Me.TestID.Value 

    NewNameWithExt = NewName & ".txt" 

    DoCmd.RunSQL ("UPDATE TestTable SET TestAttachment.FileName = '" & 
    NewNameWithExt & "' WHERE TestID = " & NewName) 

End Sub 

:私のテーブルの絵を提供

は、Accessで添付ファイルの名前を変更するhttps://i.imgur.com/gaTUCtk.png

答えて

0

を助けるかもしれない

Private Sub Command0_Click() 
    Dim NewName As String 
    Dim OldName As String 
    Dim rs As Object 
    Dim strSQL As String 

    Set rs = CreateObject("ADODB.Recordset") 

    strSQL = "SELECT TestAttachment.FileName FROM TestTable WHERE TestID = 1" 

    rs.Open strSQL, CurrentProject.Connection, 1, 3 

    Do Until rs.EOF 
     OldName = rs.Fields(0) 
     NewName = CurrentDb.TableDefs("TestTable").Fields(0).Name 

     Name "C:\Users\TestUser\desktop\" & OldName As 
     "C:\Users\TestUser\desktop\" & NewName & ".TXT" 

     rs.MoveNext 
    Loop 

    rs.Close 
    Set rs = Nothing 

End Sub 
+0

名前を変更したいファイルは、各レコードのテーブルの添付ファイルフィールドにあります。https://i.imgur.com/mEgr00y.png –

+0

最後のコメントが反映されます。複数のテーブルを使用している場合は、テーブルをループする方法を理解する必要があります。 – Steve

+0

すべてのレコード/テーブルでそれを行う必要はありません。ボタンを押して、フォームにある現在のレコードの添付ファイルの名前を変更できるようにしたいと思います。 –

関連する問題