1

MS Access 2010-2013 を使用しており、いくつかのテキストを別のテキストに置き換える更新クエリがあります。フォームのクエリを VBA "Sub Removereplace ()" に変換して、問題のテキストごとに選択ケースをループし、そこにある場合は置換したいと考えていました。これを行う方法がわからず、ゴーグルで実際の例を見つけようとしましたが、運がありませんでした。何か案は?ありがとう!!!

UPDATE tbl_ImportedTabDelimited SET tbl_ImportedTabDelimited.[Long Description] = Replace(Replace(Replace(Replace([Long Description]," ft","'")," in","""")," ""L""",""),",","")
WHERE (((tbl_ImportedTabDelimited.[Long Description]) 
Like "*ft*" Or   (tbl_ImportedTabDelimited.[Long Description]) 
Like "*in*" Or (tbl_ImportedTabDelimited.[Long   Description]) 
Like "*,*" Or (tbl_ImportedTabDelimited.[Long Description]) 
Like "*""L""*"));
4

1 に答える 1

0

ループ内で VBA を更新する必要がある場合は、次のようにします。

Sub ThisIsABadIdea()
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT Title, Name, Salary FROM Table1")

    rs.MoveFirst
    While Not rs.EOF
        rs.Edit

        ' Multiple field update
        If Left(rs!Title, 1) = "Z" Then
            rs!Title = "Omega Man"
            rs!Name = "Heston"
            rs!Salary = 15000
        End If

        ' Multiple condition on one field
        Select Case rs!Title
        Case rs!Title = "aa":
            rs!Title = "no way!"
        Case Left(rs!Title, 4) = "xyxy":
            rs!Title = "Double Fem!"
        Case Right(rs!Title, 2) = "-2":
            rs!Title = "It's a dash two experience"
        Case Else
            rs!Title = "It is indescribable"
        End Select

        rs.Update
        rs.MoveNext
    Wend
    rs.Close
End Sub
于 2013-02-25T05:01:54.230 に答える