Office中国论坛/Access中国论坛

标题: [求助]一个文本有效性问题 [打印本页]

作者: qw7912    时间: 2005-12-7 19:49
标题: [求助]一个文本有效性问题
我表中有一个字段叫合同编号,我现在是手动录入的,我录入的规则是:年+月+日+3位数字(比如20050101001)。我只会设置日期那部分的,但是数字

怎么办,我希望手动录入有错误能提示,能帮助一下吗,怎么设置这个规则,用语言?用文本有效性?

我还想了个方法,就是写个日期框,然后让合同编号取它的值,可惜也没弄明白,如果可以也帮忙想想呀!

[此贴子已经被作者于2005-12-7 11:55:39编辑过]


作者: fan0217    时间: 2005-12-7 20:05
用日期和编号两个字段,在查询中合并。分别设置可能方便。
作者: qw7912    时间: 2005-12-7 20:47
是个好办法,但是不太和录入的习惯。能在帮忙想一下吗,方便实用就好
作者: fan0217    时间: 2005-12-7 21:11
不用用有效性规则,用VBA的方法,在输入窗口的字段的更新前检查是否合法。
作者: qw7912    时间: 2005-12-7 22:25
应该怎么写,能帮忙写一下吗
作者: qw7912    时间: 2005-12-8 17:11
高手帮忙呀


作者: 一点通    时间: 2005-12-8 17:39
如果是连续性的编号,最好的方法是由电脑自动生成,如果是自己写入的编号,除了字段格式外,还要判断什么呢?
作者: qw7912    时间: 2005-12-8 18:39
主要就是时间问题,我刚开始想用输入日期的方法自动得到编号,但是编号不是光有年月日的,之后还的加数量,也就是这个月卖的产品的数量,这个是不固定的,也不是能顺序取得的,如果录入有空位的话,也不好处理。

所以当手动录入的时候就不得不判断它的准确性,象20057878001这样的编号就不可以录入,但是现在我不会判断怎么取日期的中断,我说的明白吗。就是避免录入的时候出现错误,有一定的规则


作者: 一点通    时间: 2005-12-8 19:00
if lwft(me.编号文本框,8) <> format(date(),"yyyymmdd") then

    MsgBox "输入的日期格式不对", , "请重新输入"

end if

这是判断前8位数是否与当前日期相符的方法


作者: qw7912    时间: 2005-12-8 19:18
谢谢,解决了[em02]
作者: qw7912    时间: 2005-12-9 23:27
还是有点问题,我输入2005120601之后,他提示我"输入的日期格式不对", , "请重新输入",不对吧,是不是date()这个函数是去当天的日期,只有输入当天的日期才有效呀,date()这个函数没有看懂,[em04]
作者: 一点通    时间: 2005-12-9 23:39
是的,DATE()是当天的系统日期
作者: qw7912    时间: 2005-12-10 00:32
标题: 我就是想取得格式
我就是想取得格式,不见得非的是今天的日期。我也许会录去年的合同,所以日期不见得是今天的。
作者: fan0217    时间: 2005-12-10 06:22
先用Left(Me.编号文本框,8)将前8位取出来,然后用函数IsDate()判断.

If IsDate(Left(Me.编号文本框,8))=False Then

    MsgBox "输入的日期格式不对", , "请重新输入"

End If
作者: qw7912    时间: 2005-12-10 17:16
还是不行,ISDATE我写了,但是我即便写正确了日期,他还提示我"输入的日期格式不对", , "请重新输入",我把FALSE改成TRUE之后,就怎么写都不提示错误了,呵呵,即使我写错了日期也是一样的,为什么,这个还不行呢,错在那里呢?
作者: 一点通    时间: 2005-12-10 17:41
如果只是判断是否是日期格式,正确的输入方法:

If IsDate(Left(Me.编号文本框, 4) & "/" & Mid(Me..编号文本框, 5, 2) & "/" & Mid(Me..编号文本框, 7, 2)) = False Then

    MsgBox "输入的日期格式不对", , "请重新输入"

End If


[此贴子已经被作者于2005-12-12 11:37:33编辑过]


作者: qw7912    时间: 2005-12-10 21:35
对不起,我还是没有弄好,我把库传上来,帮忙看一下。另外请在帮一个忙,就是在“销售合同录入“窗体中有一个“添加产品”的按纽,我点击后出来的

“产品资料添加”窗体,添加新的产品时可以使合同编号重复,因为我一个合同可以有不同的产品。

总之销售合同录入窗体是录入销售合同信息表里的,而产品资料添加的内容是录入到“销售合同产品表里的”。希望多帮忙,急!


[attach]14697[/attach]


[此贴子已经被作者于2005-12-12 8:39:26编辑过]


作者: 一点通    时间: 2005-12-10 23:40
你的文件上传不正确,无法打开
作者: qw7912    时间: 2005-12-12 16:42
库表我已经传上去了,请帮忙看一下


作者: 一点通    时间: 2005-12-12 17:22
已帮你修改好,

以后上传例子时请用ACCESS自带的"压缩和修复数据库"处理一下,以免浪费网站空间,谢谢

[attach]14699[/attach]

作者: qw7912    时间: 2005-12-12 18:42
好的,我明白了,以前看你说什么"压缩和修复数据库"没明白,原来是这个意思,知道了[em08]
作者: qw7912    时间: 2005-12-12 19:23
有一个小问题,我没有说清楚。

第一个窗体是“销售合同信息”

第二个窗体是“产品资料添加”,我从第一个窗体进入第二个窗体的时候,是通过添加产品按纽实现的。

我的问题是当进入第二个窗体的时候,“合同编号”取的是第一个窗体“销售合同编号”,我会的方法是这样写的:

Me.合同编号 = Forms!销售合同信息!销售合同编号。是不是有问题呀。

[此贴子已经被作者于2005-12-12 13:22:25编辑过]


作者: qw7912    时间: 2005-12-13 00:23
获取合同编号好了。我又有了另一个问题。

我把库传上来在看看。里面我问的问题。[attach]14717[/attach]


[此贴子已经被作者于2005-12-12 17:00:43编辑过]


作者: qw7912    时间: 2005-12-13 18:40
有人在吗,有路过的吗
作者: fan0217    时间: 2005-12-14 05:31
[attach]14739[/attach]
我刚好路过,呵呵!
作者: fan0217    时间: 2005-12-14 05:56
设置成模式窗体,要放个关闭按钮啊!害得我得切换到设计视图关闭。
作者: ljcljc    时间: 2007-5-3 06:26
kk




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3