Office中国论坛/Access中国论坛

标题: 我学ACCESS1——日期的输入与查找 [打印本页]

作者: 简    时间: 2004-4-15 07:08
标题: 我学ACCESS1——日期的输入与查找
我是学习ACCESS的新手,挺想学好ACCESS,不懂的地方还请版主和各位朋友多多帮助和点拨。

在这个日期输入与查找中,比如说:
设计日期形式为:2004.01,即yyyy.mm。不知这样的格式该如何输入,我弄了挺久也没有弄出来。

由此而来的查找问题是:比如说我在参数框已设计为:请输入设计日期:
当使用者输入2004.03时,就会把2004年月份的所有内容显示出来。

大伙能教教我吗?在此先道声谢谢了。
作者: sea.er    时间: 2004-4-15 07:49
这种日期格式我还真没用过,为什么非要这样用呢
作者: 简    时间: 2004-4-16 08:12
[attach]4268[/attach]

你看嘛,就是这个样子。在设计日期中,我不想让它显示为2003。11。1之类的,我只想让它显示为2003.11。这是模具的设计日期,只需要年月就行了。


然后在查找中,当提示框为:请输入设计日期。使用者输入2003。11,就可把该年该月的所有模具显示出来。

[此贴子已经被作者于2004-4-16 0:12:52编辑过]


作者: 土豆    时间: 2004-4-16 08:40
要看字段的存储类型
如果是日期类型,那么不管你显示的格式是yyyy-mm-dd还是yyyy-mm-dd,它存储的都是yyyy-mm-dd

这是如果要查找固顶月份的记录,可以使用如下条件子句
WHERE Format([设计日期],"yyyy-mm")="2003-11"

如果天对你确实没有什么用处,也可以考虑日期字段用文本类型,写入时先做格式化
作者: 简    时间: 2004-4-17 06:13

我想知道,你们所说的FORMAT语句,一般是放在下图中的哪个位置呢?
原谅我是新手,我以为FORMAT必须放在SQL或VB语言中吗?可这二者我都不会。:(

[attach]4277[/attach]
作者: sea.er    时间: 2004-4-17 06:37
[attach]4279[/attach]
作者: Ajoe    时间: 2004-4-17 06:41
1、如果你要实现2004.02这样格式的输入,那么你要考虑把字段的属性设为“文本”。
2、Format()函数,可以在“默认值”里面输入,也可以在VB里使用,也就是说,只要是能让你输入代码的地方,应该就可以用这个函数。(在查询里也可以用代码的,还有很多地方,慢慢你就会知道的。)
作者: 简    时间: 2004-4-17 16:46
标题: 我还想问问

我还想问问,我照sea.er的提示在格式处输入:yyyy.mm,即我不想用“-”作为日期分隔符,当回车后显示如下图:

[attach]4282[/attach]

表中的显示还是不符我们的要求。


还有,我希望我输入2004.4时,表中就自动显示为:2004.04,能继续帮助我吗?
作者: Ajoe    时间: 2004-4-17 18:43
....你这样已经实现了日期的最后格式为:2004.04
    但是你的字段如果是日期型的,那么你输入的时候,中间的间隔符号一定要用“-”,例:2004-4,还有因为你在格式里设置了“yyyy\.mm",所以你刚才输入的内容(2004-4)就会转换为:2004.04
    没有办法的,输入日期型的数据,中间的间隔符号一定要用“-”,如果你真的想实现你那种效果,只有在窗体中进行设计。
    1、“日期”字段的属性改为“文本”。
    2、在“日期字段文本框”(窗体设计里的)的“更新后事件”中输入如下代码:

Private Sub 日期_AfterUpdate()
    Dim A, B, C, D
    A = Left(Me.日期, 4)
    B = Right(Me.日期, 2)
    C = Left(B, 1)
    If C = "." Then
    C = "0"
    Else: C = C
    End If
    D = Right(B, 1)
    Me.日期 = A & "." & C & D
End Sub

    这样你在窗体里输入2004.4就会变成2004.04,输入2004.11也会是2004.11。好了,祝你Learn Access愉快!
作者: 简    时间: 2004-4-17 19:20
我好傻啊,我先前都差点要摸到成功的鼻子了,结果推迟到现在才终于摸到,哈~~~~~

原来如此。

我先前将格式设为yyyy.mm时,字段的属性却是文本型的,所以我输入时,如果为2004.4,则显示依然为2004.4,而不是2004.04。

经Ajoe朋友的提醒,我将字段属性改为日期/时间型,一切如愿以偿。

引用Ajoe朋友的话:但是你的字段如果是日期型的,那么你输入的时候,中间的间隔符号一定要用“-”,例:2004-4……

我在输入时间隔符依然为小数点“.",即输入时为2004.4,在显示时仍然为2004.04,嘻嘻。

在此向Ajoe朋友和sea.er版主的帮助表示真心的感谢,虽然摸着成功的鼻子迟了点,但总算摸到了,那一刻,心情真好,同时也祝大家:Learn  Access愉快!

:)




[此贴子已经被作者于2004-4-17 11:24:01编辑过]


作者: Ajoe    时间: 2004-4-17 19:47
呵呵!明白了就好。
你用的是AccessXP吗?我用的就是AccessXP,文件格式是Access2000的,所以出现输入日期时得用“-”分隔符,不然它不高兴。
我估计你可能用的是Access2003,要不然我就不知道是什么原因了。
作者: 简    时间: 2004-4-17 21:35
呵,我是用的ACCESS 2000呢。

我还以为,你说的日期“-”分隔符是跟WINDOWS的控制面板中的区域设置有关呢。




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