Ms access 访问字段-默认值+;限制数量

Ms access 访问字段-默认值+;限制数量,ms-access,Ms Access,表中有一个数字字段,我需要在其中输入一个默认值“100”,然后应该允许再输入5个数字 目前我有: 默认值:100 输入掩码:00000000;;“” 但它的作用是将默认值放在字段中,但不放在字段的第一个左侧位置,尽管我已经将字段的文本对齐设置为左侧。如何将其设置为在字段的左开头有默认值,并允许在此之后有5个数字 备注:输入掩码“100”00000;;“”无法解决问题,因为在这种情况下,100不会保存在表中 编辑: 当我使用输入掩码“100”00000;;“”中,我无法通过VBA动态SQL搜索

表中有一个数字字段,我需要在其中输入一个默认值“100”,然后应该允许再输入5个数字

目前我有:

  • 默认值:100

  • 输入掩码:00000000;;“”

但它的作用是将默认值放在字段中,但不放在字段的第一个左侧位置,尽管我已经将字段的文本对齐设置为左侧。如何将其设置为在字段的左开头有默认值,并允许在此之后有5个数字

备注:输入掩码“100”00000;;“”无法解决问题,因为在这种情况下,100不会保存在表中

编辑:

当我使用输入掩码“100”00000;;“”中,我无法通过VBA动态SQL搜索来搜索这些记录,因为“100”未保存在表中。即使向表中添加相同的输入掩码并查看完整的数字,动态SQL也无法工作,因为Access不会将输入掩码保存为字段数据。

假设:

1) 此字段是一个长整数,字段大小为8,不能更改为文本字段

2) 这是在Access 2016中在Windows 8.1 Pro上测试的

-

将字段的属性的输入掩码设置为: "100"#####;;“”

将字段的属性的默认值设置为
NULL
。为此,请高亮显示默认值,然后按backspace和enter键。属性现在应该完全为空

表格属性的文本对齐设置为

现在,表格在被选中之前不会显示任何值,此时它将以5个空格作为占位符,将“100”正确左对齐

窗体上,将textbox输入掩码属性设置为: "100"#####;;“”文本对齐:

以相同的方式设置表单默认值
NULL

同样,现在带有的表单文本框在选中时显示默认值,否则将显示为空

这是我能做的最好的了。由于它是一个数字字段,因此表中的任何默认值(除
NULL
)都将显示右对齐,而与输入掩码无关。如果默认值侵犯了输入掩码中的文字字符,则该字段仅显示默认值。例如:

输入掩码:“100”;;“”

Deafult值:999999

显示为:999999

-

如果您必须在表单的字段中显示“100”,我能看到的唯一选项是在您的文本框后面添加一个标签,该标签具有相同的大小和相同的文本属性

使您的标签标题“100”(文本对齐到
左侧

然后将文本框背景色属性设置为
透明


这将使您通过文本框看到存储在标签中的默认值。选择文本框后,文本框输入的白色背景色将阻止标签,显示正确的值。假设字体不冲突,文本框值应该显示得足够清晰,因为“100”始终是前三个字符。

此字段代表什么?我认为,如果您将其更改为文本字段,输入掩码将正常工作,但是否应该取决于您在其中存储的内容。此字段表示表的字段。我正在使用它将记录直接保存到表中。我知道文本字段,我用相同的设置设置了另一个未绑定的文本框,默认值出现在字段的开头,问题只是这个绑定的文本框。如果它已绑定,则需要更改表中的数据类型,而不是文本框的格式。它与未绑定文本框的工作方式不同。这样做是否正确取决于字段所代表的内容。例如,邮政编码、电话号码、SS#都是由数字组成的,但应该作为文本数据类型存储在表中。好吧,那我就麻烦了。它是数字字段,必须是数字字段,因为我也在使用此数据类型将数据导入表中。在我看来,您请求的是“100”和5个以上的数字,而不是数字。我说的对吗?克里斯托弗,谢谢你的帖子,但那不行。我并没有详细说明这一点——我从一个表单直接将记录保存到表中。这些数字是某些项目的序列号…问题:我有一个VBA动态SQL搜索,当我执行这些记录的搜索时,找不到它们。我进行了调查,得出的结论是,因为“100”并没有作为值存储在表中,而是像输入掩码一样,所以找不到记录——如果我搜索不带“100”的记录,就会找到记录。这听起来很奇怪,但Access就是这样工作的。如果需要,我也可以发布VBA代码进行动态搜索。@LuckyLuke82请用此信息编辑您的原始问题-1.你的问题措辞不当。祝你好运我知道您说过导入过程会阻止将其转换为文本数据类型,但是在导入值周围添加cstr()要比处理糟糕的设计容易得多。也许有一个解决方案,但这些约束并不是超现实的。并不是说这永远不会发生,但是在大多数情况下,修复桌子设计是最好的整体修复。好吧,我想我理解你,但是。。。你能举一个这样的例子,供将来参考吗?@LuckyLuke82我想你是在问关于
CStr()
CStr()
是一个转换函数,它接受任何数据类型的值,如长整数,并将其转换为文本,以便存储在文本字段中。如果需要编辑导入过程,请打开一个单独的问题来回答。