我想在Microsoft访问中使用复杂的验证规则。该字符串应为9位数,并使用以下公式进行验证。
例如,如果字符串是ABCDEFGHI:
(9 x A)+(8 x B)+(7 x C)+(6 x D)+(5 x E)+(4 x F)+(3 x G)+(2 x H) +( - 1 x I)%11 == 0。
我可以将此作为验证规则使用,还是应该使用代码?如果我必须使用代码,我该怎么做呢?
答案 0 :(得分:1)
假设您将这个9位数字输入文本框。我想在文本框的AfterUpdate事件中输入它:
Val1 = CInt(Left(MyTextBox.Text, 1)
Val2 = CInt(Mid(MyTextBox.Text, 2, 1)
Val3 = CInt(Mid(MyTextBox.Text, 3, 1)
Val4 = CInt(Mid(MyTextBox.Text, 4, 1)
Val5 = CInt(Mid(MyTextBox.Text, 5, 1)
Val6 = CInt(Mid(MyTextBox.Text, 6, 1)
Val7 = CInt(Mid(MyTextBox.Text, 7, 1)
Val8 = CInt(Mid(MyTextBox.Text, 8, 1)
Val9 = CInt(Rightt(MyTextBox.Text, 1)
If ((9 x Val1) + (8 x Val2) + (7 x Val3) + (6 x Val4) + (5 x Val5) + (4 x Val6) +
(3 x Val7) + (2 x Val8) + (-1 x Val9) % 11) = 0 Then
'Whatever it is you want to do
Else
'Whatever should be done if the validation fails
End If
这将使您可以更好地控制可能要执行的消息和功能,具体取决于If / Then语句的结果。