自动插入区号

时间:2015-12-12 17:37:27

标签: ms-access

我在Microsoft Access 2013中有一个与电话号码对应的文本框。文本框的输入掩码为:

!\(999") "000\-0000;;_

我正在尝试自动插入区号。例如,当用户输入电话号码时,区域代码已填充到文本框中。我试图在表格设计和文本框的属性表中设置默认值,但没有运气。它总是与右边对齐。例如,它看起来像这样:

enter image description here

如果我在文本框属性的默认值上添加空格,则忽略输入掩码,Microsoft Access会生成错误说明:

  

您输入的值不适合输入掩码'!(999")" 000-0000 ;; _'为此字段指定。

我已经考虑修改表格结构以包含区号的特定字段,但这是我的最后手段。

生成新记录时,是否有更有效的方法在文本框中自动填充区号?

1 个答案:

答案 0 :(得分:0)

您可以在VBA中编写一个函数来执行此操作。喜欢的东西;

/**
 * @var string
 *
 * @ORM\Column(name="username", type="string", length=255, unique=true, nullable=false)
 *
 * @Annotation\Type("Zend\Form\Element\Text")
 * @Annotation\Required({"required":"true" })
 * @Annotation\AllowEmpty(allowEmpty=false)
 * @Annotation\Filter({"name":"StripTags"})
 * @Annotation\Filter({"name":"StringTrim"})
 * @Annotation\Attributes({"id": "username"})
 * @Annotation\Options({"label":"Username", "label_options":{"position":"Zend\Form\View\Helper\FormRow::LABEL_PREPEND"})
 */
protected $username;

此函数将采用类似'123-4567'的字符串并返回'(719)123-4567'。

在您的电话号码字段的AfterUpdate事件中放置;

Function FormatPhone(PhoneNumber As String) As String

    FormatPhone = "(719)" & PhoneNumber

End Function

这会将格式化的字符串添加到文本框中。