设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2691|回复: 7
打印 上一主题 下一主题

[模块/函数] 求代码:备注字段分段精减后合并。

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-27 11:08:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ynjxw 于 2011-10-27 11:09 编辑

在备注字段(属一条记录)里有原始数据如:
1、过敏指数: 极易发 ,天气条件极易诱发过敏,易过敏人群尽量减少外出,外出宜穿长衣长裤并佩戴好眼镜和口罩,外出归来时及时清洁手和口鼻。
2、空气污染扩散条件指数: 中 ,气象条件对空气污染物稀释、扩散和清除无明显影响,易感人群应适当减少室外活动时间。
3、美发指数: 极适宜 ,温湿适宜,风力较小,这为您的头发创造一个健康、洁净的生长环境,加上您细心的呵护打理,您的秀发定能飘逸动人。
4、洗车指数: 不宜 ,不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。
5、运动指数: 较适宜 ,天气较好,无雨水困扰,较适宜开展各种户内外运动,但因气温较低,在户外运动请注意增减衣物。
6、逛街指数: 适宜 ,天气较好,在这种天气里去逛街,既可畅快地放松身心,又会有很多意外收获,真是无比惬意。
--------------------------------------------------------------------------------------------------------------------------------------------------------
现想精减成这样(也就是取每段前20个字符,并加"..."),并在查询中显示(属一条记录):
1、过敏指数:极易发,天气条件极易诱发过...
2、空气污染扩散条件指数:中,气象条件对...
3、美发指数:极适宜,温湿适宜,风力较小...
4、洗车指数:不宜,不宜洗车,未来24小...
5、运动指数:较适宜,天气较好,无雨水困...
6、逛街指数:适宜,天气较好,在这种天气...
--------------------------------------------------------------------------------------------------------------------------------------------------------
注:原始及精减后都需要保证段落不变。
附:原始表。
跪求啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-10-27 13:40:02 | 只看该作者
select left(备注,20) & "..."  as NEW FROM 表

这样行吗

有些控件支持内容自动省略的功能
3#
 楼主| 发表于 2011-10-27 13:57:39 | 只看该作者
是要每一段都省略一些。而不是整体省略。
4#
发表于 2011-10-28 13:32:58 | 只看该作者
在Roych代码的基础上帮你改造下:
在标准模块中:
Function TrimString(str As String) As String
   
    Dim strArray() As String
    Dim strTemp As String
    Dim i As Integer
   
    strArray = Split(str, vbCrLf)
    For i = 0 To UBound(strArray)
        strTemp = strArray(i)
        If Len(strTemp) > 23 Then strTemp = Left(strTemp, 20) & "..."
        TrimString = TrimString & strTemp & vbCrLf
    Next i
   
End Function

在查询或窗体中引用:
TrimString([字段名])
5#
 楼主| 发表于 2011-10-28 08:54:11 | 只看该作者
多谢roych 版主,这个代码怎么用在查询中呢。还要麻烦roych给予帮助一下。
6#
 楼主| 发表于 2011-10-28 14:00:13 | 只看该作者
正是要这个效果呀,多谢多谢roych,多谢猫哥!{:soso_e145:}{:soso_e146:}
7#
 楼主| 发表于 2011-10-27 16:17:36 | 只看该作者
跪求啊!
8#
发表于 2011-10-27 20:22:28 | 只看该作者
是不是这样啊?

  1. Sub test()
  2. Dim rst As New ADODB.Recordset
  3. Dim tt As String
  4. Dim xx
  5. rst.Open "表1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  6. tt = rst(1)
  7. rst.Close
  8. xx = Split(tt, vbCrLf)
  9. For i = 0 To UBound(xx)
  10. Debug.Print Left(xx(i), 22) & "…"
  11. Next
  12. End Sub
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 03:56 , Processed in 0.079823 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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