设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2227|回复: 10
打印 上一主题 下一主题

[其它] [求助]如何设置根据输入的字符位数在总位数限制内动态增加前引缀?

[复制链接]
跳转到指定楼层
1#
发表于 2007-5-1 00:43:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题述,一编号字段需人工输入,字长6位数字,输入时只想输入后面几位数字,前面自动加0,请问怎么设置。

如果后面几位数是固定的,如三位,当然可以通过格式属性回固定前缀,如000386,只输入386,格式显示000386,但后面几位数字可能会发生变化,比如当4位的时候,如005869,如还按上述操作,只输入5897,就会出现0005897,超过总位数限制,请问如何设置可动态根据输入的字符位数动态增加前缀?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-5-1 00:51:00 | 只看该作者
在格式中输入000000六个0就行了
3#
 楼主| 发表于 2007-5-1 01:15:00 | 只看该作者
不行呀,这个我早都试过了,还是只显示输入的字符。如输入93,还显示93,而我要显示的是000093

还有哇,我这个字段的数据类型是文本类型。
4#
发表于 2007-5-1 01:17:00 | 只看该作者
可以的,如果不能的话,传你的例子上来看一下,

或者用Format([文本框名],"000000")格式一下

[此贴子已经被作者于2007-4-30 17:19:26编辑过]

5#
 楼主| 发表于 2007-5-9 02:37:00 | 只看该作者

确是不行呀

不知怎么回事上传不了附件。

其实我已经说得很明白了,一个字段,假设输入3位数389,自动显示000389;假设输入位数5649,自动显示005649;假设输入的是5位数,32654,自动显示032654。即在总位数限制下,回前缀0。

另外请问,用Format([字段名],"000000")格式一下,是在字段的哪个属性里设?
6#
发表于 2007-5-9 05:43:00 | 只看该作者
在文本框的更新后事件里(afterupdate)

me.编号字段文本框=right("000000" & me.编号字段文本框, 6)

文本框的输入过滤你自己做(即只接受数字的输入,其它的无效。)

我倾向于不使用format。

[此贴子已经被作者于2007-5-8 21:44:45编辑过]

7#
发表于 2007-5-9 07:42:00 | 只看该作者
下面这段代码,只要输发票号的最后1-4位数,前面的有变动时才去输入

Private Sub 发票号码_AfterUpdate()
On Error GoTo Err_发票号码__Click
Dim a, b

Dim Intab as Integer (这个声明要放在窗体的头部)

If Intab > 0 And Len(Me.发票号码) < 5 Then
Me.发票号码.Value = Intab & Format(Me.发票号码, "0000")
End If
Intab = 0
Intab = Left(Me.发票号码, 4)


b = Me![发票号码]
a = DLookup("发票号码", "输入子", "发票号码='" & Me![发票号码] & "'")
If b = a Then
MsgBox "发票号 " & b & " 有重复!"
End If


Err_发票号码__Click:
    Exit Sub
    End Sub

[此贴子已经被作者于2007-5-8 23:44:10编辑过]

8#
 楼主| 发表于 2007-5-10 01:12:00 | 只看该作者
谢谢tz-chf,问题解决了。真心感谢 。
9#
 楼主| 发表于 2007-5-10 01:25:00 | 只看该作者
还想再问一下,本人是新手,此文本框的输入过滤我现在是在其属性的有效性规则设置规则>0,经测试后可以达到目的,但输入非数字时,会提示类型不对,我想是不是有更好的办法。请帮忙。谢谢。
10#
 楼主| 发表于 2007-5-10 01:28:00 | 只看该作者
不好意思,问题解决了,设置通过设置掩码就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-26 03:32 , Processed in 0.099578 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表