我需要根据另一个的部分匹配来更新字段。 “Field2”长度为4个字符。我试图做的是让它看看Field2,如果它以F开头,则将Field1更新为340.然后,如果它以F开头,第3个字符为3,则将field1更新为344,依此类推。
基本上,当field2以F开头并且F * 3 *将是例外并且需要被称为344时,340将是规则。
问题当然是使用'像F * 3 *'实际上并不是在第三个位置寻找3而是在F之后的任何位置。
有办法做到这一点吗?我感谢任何帮助。
吉姆
DoCmd.RunSQL "UPDATE [Table] SET [Table].[Field1] = ""340"" WHERE (([Table]![Field2] Like ""F*""));", -1
DoCmd.RunSQL "UPDATE [Table] SET [Table].[Field1] = ""344"" WHERE (([Table]![Field2] Like ""F*3*""));", -1
DoCmd.RunSQL "UPDATE [Table] SET [Table].[Field1] = ""343"" WHERE (([Table]![Field2] Like ""F*4*""));", -1
答案 0 :(得分:0)
您的条件可能特定于您要匹配的内容,因此请勿使用通配符。
考虑您的第一个条件可以是LEFT([Field2],1) = 'F'
您的第二个条件可以使用SUBSTRING()
LEFT([field2],1) = 'F' AND SUBSTRING([field2],3,1) = '3'
这样,您匹配第一个字符为'F'且第三个字符为'3'的位置