Access交流中心

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

[5分]能否用简单的 if then 语句实现

白桦林  发表于:2012-09-12 13:08:59  
复制

在窗体中有[小写]和[大写]两个控件,我想实现输入小写后大写自动生成

一般的if then 语句得这么写:

Private Sub 小写_AfterUpdate()

if 小写="a" then

 me.大写="A"

if 小写="b" then

 me.大写="B"

if 小写="c" then

 me.大写="C"

if 小写="d" then

 me.大写="D"

.

.

.

以此类推,需要几十条语句

Else

me.大写="  "

 

我不想用这么多条语句去实现

能不能用简单的语句办到?

 

 

 

Top
纵云梯 发表于:2012-09-12 13:54:27

Private Sub 小写_AfterUpdate()

    小写 = UCase(小写)

End Sub



hanakim 发表于:2012-09-12 14:01:08

变大写:Ucase()

变小写:Lcase()



白桦林 发表于:2012-09-12 15:35:09

我那只是个例子

实际不是大小写转换

实际是“1.06”变换为“一年六个月”、“1.08”变换为“一年八个月”、“10.08”变换为“十年八个月”等等……



煮江品茶 发表于:2012-09-12 20:10:17

function str(val as Single) as string

     str=replace(val,".","年") & "个月"

end function



蟹仔 发表于:2012-09-12 20:31:50

如果单纯的转换,这样缩写就行了,结合煮酒品茶的方法,很容易就可以达到你的要求。

Function DX(val as Single) as string

DX=Left(Right("一二三四五六七八九十", val+1), 1)

End If



白桦林 发表于:2012-09-12 22:58:42

四路的方法没有把小写中的“1”转换为“一”;

五楼的方法是好,但不能实现小写的整数位大于10(比如小写为17.08,要转换为“十七年八个月”)时的转换。



白桦林 发表于:2012-09-13 14:04:43

五楼的方法语句应该修改为:

DX=Left(Right("一二三四五六七八九十", 11-val), 1)

而不是

DX=Left(Right("一二三四五六七八九十", val+1), 1)



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