我正在创建一个访问2007的数据库。我有一个呼叫中心表格,用于输入客户信息;姓名,地址,电话号码等。
有一个信用卡号码字段,我们应该输入它们作为前4个数字,最后输入数字ie.1234xxxxxxxx4321
我想确定他们是否输入它们保留了第一个和最后4个数字,但是当该字段失去焦点时将其他字符更改为“x”。有人能指出我如何做到这一点的正确方向吗?
提前感谢您对此事的所有帮助。
答案 0 :(得分:2)
如果您只存储前4位和后4位数字,则以下内容有效。修改函数validCreditCardNumber()以包含要应用的任何检查。
Function validCreditCardNumber(creditCardNumber) As Boolean
If Len(creditCardNumber) = 12 Then
validCreditCardNumber = True
Else
validCreditCardNumber = False
End If
End Function
Private Sub cbxCreditCardNumber_LostFocus()
If validCreditCardNumber(cbxCreditCardNumber) Then
cbxCreditCardNumber.Text = Left(cbxCreditCardNumber.Text, 4) & "xxxxxxxx" & Right(cbxCreditCardNumber.Text, 4)
End If
End Sub
如果您想存储整个数字但只隐藏屏幕上的数字,那么我认为您正在寻找输入掩码。
答案 1 :(得分:1)
您需要的只是表单代码中的所有内容。
Private Sub txtCC_LostFocus()
txtCC.Text = Left(txtCC, 4) & String(8, "x") & Right(txtCC, 4)
End Sub
然后你看到的是将存储在数据库中的内容。 ie.1234xxxxxxxx4321
我将假设你不想在你的数据库中保留整个CC#。这是一个巨大的禁忌,除非你花费大量时间和钱来满足PCI合规要求。以下是有关PCI的一些信息:http://www.pcicomplianceguide.org/pcifaqs.php
答案 2 :(得分:0)
没有输入掩码可用于部分屏蔽字符串条目。您需要使用自定义函数来更改输入的数据。执行此操作的最佳方法可能是将表中的字段链接到隐藏的文本框。然后,您可以使用可见文本框将一些函数应用于隐藏文本框中的值,以将字符更改为可见文本框的LostFocus事件中的“X”。但是,当您更改数据时,它还必须将数据写入隐藏文本框。