试图在表单值的字符串中查找单词

时间:2015-03-10 18:21:28

标签: ms-access access-vba

我有一个表格,我的所有标准输入都是刨花板的PB。但我希望能够在表单值中搜索字符串,以便在单独的报告中报告为ply,如果它是胶合板。

我的例子,语法明显错误。

Private Sub UnfinishedInterior_AfterUpdate()

If [Forms]![Cover Sheet]![UnfinishedInterior].Value contains Ply in it Then

[Forms]![Cover Sheet]![CV8AppliedEnds].Value = DFirst
("CV8PlyName", "AppliedEndsPlyReport_Query") 

Else

If [Forms]![Cover Sheet]![UnfinishedInterior].Value contains PB in it Then 

[Forms]![Cover Sheet]![CV8AppliedEnds].Value = DFirst("CV8Name", "AppliedEndsReport_Query")

End Sub

我似乎遇到的问题是找到正确的方法来提取ply或PB字符串并从我的表中应用我的数据。

1 个答案:

答案 0 :(得分:0)

您可以使用InStr FunctionLike比较来确定字符串是否包含在另一个字符串中。

InStr在找到时返回第一个字符串中第二个字符串的位置,或者在找不到时返回零。

? InStr(1,"Hello World", "or")
 8 
? InStr(1,"abcdef", "xyz")
 0 

Like比较返回True或False以指示字符串是否与模式匹配。

? "Hello World" Like "*or*"
True
? "abcdef" Like "*xyz*"
False

所以对于你的If条件......

If [Forms]![Cover Sheet]![UnfinishedInterior].Value contains Ply in it Then

...选择其中一个...

If InStr(1, [Forms]![Cover Sheet]![UnfinishedInterior].Value, "Ply") > 0 Then
If [Forms]![Cover Sheet]![UnfinishedInterior].Value Like "*Ply*" Then