Office中国论坛/Access中国论坛

标题: 求代码:备注字段分段精减后合并。 [打印本页]

作者: ynjxw    时间: 2011-10-27 11:08
标题: 求代码:备注字段分段精减后合并。
本帖最后由 ynjxw 于 2011-10-27 11:09 编辑

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

这样行吗

有些控件支持内容自动省略的功能
作者: ynjxw    时间: 2011-10-27 13:57
是要每一段都省略一些。而不是整体省略。
作者: ynjxw    时间: 2011-10-27 16:17
跪求啊!
作者: roych    时间: 2011-10-27 20:22
是不是这样啊?

  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
复制代码
[attach]47109[/attach]
作者: ynjxw    时间: 2011-10-28 08:54
多谢roych 版主,这个代码怎么用在查询中呢。还要麻烦roych给予帮助一下。
作者: 咱家是猫    时间: 2011-10-28 13:32
在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([字段名])
作者: ynjxw    时间: 2011-10-28 14:00
正是要这个效果呀,多谢多谢roych,多谢猫哥!{:soso_e145:}{:soso_e146:}




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