Ms access 访问字段-默认值+;限制数量
表中有一个数字字段,我需要在其中输入一个默认值“100”,然后应该允许再输入5个数字 目前我有:Ms access 访问字段-默认值+;限制数量,ms-access,Ms Access,表中有一个数字字段,我需要在其中输入一个默认值“100”,然后应该允许再输入5个数字 目前我有: 默认值:100 输入掩码:00000000;;“” 但它的作用是将默认值放在字段中,但不放在字段的第一个左侧位置,尽管我已经将字段的文本对齐设置为左侧。如何将其设置为在字段的左开头有默认值,并允许在此之后有5个数字 备注:输入掩码“100”00000;;“”无法解决问题,因为在这种情况下,100不会保存在表中 编辑: 当我使用输入掩码“100”00000;;“”中,我无法通过VBA动态SQL搜索
- 默认值:100
- 输入掩码:00000000;;“”
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()
是一个转换函数,它接受任何数据类型的值,如长整数,并将其转换为文本,以便存储在文本字段中。如果需要编辑导入过程,请打开一个单独的问题来回答。