我在Microsoft Access 2013中有一个与电话号码对应的文本框。文本框的输入掩码为:
!\(999") "000\-0000;;_
我正在尝试自动插入区号。例如,当用户输入电话号码时,区域代码已填充到文本框中。我试图在表格设计和文本框的属性表中设置默认值,但没有运气。它总是与右边对齐。例如,它看起来像这样:
如果我在文本框属性的默认值上添加空格,则忽略输入掩码,Microsoft Access会生成错误说明:
您输入的值不适合输入掩码'!(999")" 000-0000 ;; _'为此字段指定。
我已经考虑修改表格结构以包含区号的特定字段,但这是我的最后手段。
生成新记录时,是否有更有效的方法在文本框中自动填充区号?
答案 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
这会将格式化的字符串添加到文本框中。