我正在使用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""*"));
答案 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