2014-10-03 34 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語句的結果來執行的消息和功能更多的控制。