Microsoft访问中的复杂验证规则

时间:2014-10-03 15:43:08

标签: validation ms-access

我想在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。

我可以将此作为验证规则使用,还是应该使用代码?如果我必须使用代码,我该怎么做呢?

1 个答案:

答案 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语句的结果。