Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

显示或隐藏某些特点的值

虽虽TV  发表于:2013-01-04 18:40:46  
复制

请老师帮忙:

一、表中有日期(年月日)字段,如何通过查询达到某年某月某日不显示或显示为其它字符?比如凡是1900/1/1的这一日期均不显示或显示为其它字符;

二、表中有日期(年月日)字段,如何通过查询达到只显示年份而不显示月日,比如1986/1/8,只显示1986年

 

Top
虽虽TV 发表于:2013-01-04 18:46:26
SORRY  是“特定”值,而不是“特点”

虽虽TV 发表于:2013-01-04 18:55:58

刚才没找到上传附件的地方



虽虽TV 发表于:2013-01-04 18:56:45
虽虽TV 发表于:2017-06-07 09:18:05

求解!



西出阳关无故人 发表于:2017-06-07 10:13:52

函数改一下:

Public Function CDateTime(MyDate As Date, Optional thedate As Date = #1/1/1900#) As String

'大写中文日期

'thedate ---指定的特定日期,如果不指定就默认是:1900-1-1 日

'引用:CDateTime(# 1968-1-24 #)
    Dim i As Long, D(3) As String
    For i = 1 To Len(Year(MyDate))
        D(0) = D(0) & Mid("零一二三四五六七八九", CInt(Mid(Year(MyDate), i, 1)) + 1, 1)
    Next
    D(1) = "年" & Choose(Month(MyDate) \ 10 + 1, "", "十") & Mid(" 一二三四五六七八九", Month(MyDate) Mod 10 + 1, 1) & "月"
    D(2) = Choose(Day(MyDate) \ 10 + 1, "", "十", "二十", "三十") & Mid(" 一二三四五六七八九", Day(MyDate) Mod 10 + 1, 1) & "日"
    CDateTime = Join(D, "")
    If MyDate <> thedate Then
        CDateTime = Replace(CDateTime, " ", "")    '不等于特定日期时,显示你要的结果
    Else
        CDateTime = ""       '等于特定日期时,显示另一种你要的结果,这里显示为空
    End If

End Function



查询改一下:

SELECT 表1.ID, 表1.内容一, 表1.内容二, CDateTime([日期],#1/5/2005#) AS 年月日, IIf([日期]=1900/1/1,'不详') AS 年
FROM 表1



西出阳关无故人 发表于:2017-06-07 10:21:15

第二个问题:

SELECT Format([日期],"yyyy") & "年" AS 表达式1
FROM 表1



总记录:6篇  页次:1/1 9 1 :