循环使用选择案例的表格来替换文本

时间:2013-02-24 19:32:51

标签: vba select replace

我正在使用MS Access 2010-2013,我有一个更新查询,用一个文本替换一些文本。我想在我的表单上将查询转换为VBA“Sub Removereplace()”,以便为每个有问题的文本循环选择一个案例,如果它在那里则替换它。我不知道如何做到这一点,并试图找到一个工作的例子,通过goggling但没有运气。有任何想法吗?感谢!!!

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""*"));

1 个答案:

答案 0 :(得分: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