2014-10-03 64 views
0

我想在Microsoft访问中拥有复杂的验证规则。该字符串应该是9位数字并使用以下公式进行验证。Microsoft访问中的复杂验证规则

例如,如果该字符串是ABCDEFGHI:

(9×A)+(8×B)+(7×C)+(6×d)+(5×E)+(4× F)+(3 x G)+(2 x H)+( - 1 x I)%11 == 0.

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

+0

你还没有给我们太多的工作。这是否被输入到文本框中?你用数字乘以数字吗? – 2014-10-03 16:08:25

+0

如果可能,请详细说明。您输入的字符串(ABCDEFGHI)应该是数字吗?你不能乘以一个字母的9倍,除非你的意思是你想让这封信出现9次?你从文本框中获取这个字符串吗?这里有一大堆混乱,如果你想得到答案,我们需要继续努力。 – 2014-10-03 16:34:41

+0

是的,它被输入到表单中的文本字段中。这些字母代表数字。 – 2014-10-03 16:44:45

回答

1

如果有必要,我会在刺沙处编辑一下,但是我必须做出几个假设,因为信息在问题中并不明确。

假设您将这个9位数字输入到文本框中。竟被我在文本框中的更新后事件dput这样的:

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语句的结果来执行的消息和功能更多的控制。