Office中国论坛/Access中国论坛

标题: 如何代码删除字段中的空行? [打印本页]

作者: 付谦    时间: 2021-9-7 14:18
标题: 如何代码删除字段中的空行?
有一个字段,由mid([ 字段名 ],m ,n)提取来的,首字为句号.并占行,如下
------------------------------------

 妣黄氏,生于清乾隆----
------------------------------------
  试图用替换函数将句号替换成空,但本行仍在,请教如何用代码将句号这行删除掉.
作者: Henry D. Sy    时间: 2021-9-7 15:36
例子呢

作者: 付谦    时间: 2021-9-7 15:55
Henry D. Sy 发表于 2021-9-7 15:36
例子呢

[综合]字段中有2行:首行是句号,第二行是 妣黄氏,生于清乾隆 如:


 妣黄氏,生于清乾隆

用DoCmd.RunSQL "update 谱树临时表 set 综合=right(综合,len(综合)-1) WHERE left([综合],1)='。'
后首行仍然存在,是空行,没句号了,我想要的是删除掉空行,字段内只有妣黄氏,生于清乾隆这一名
作者: Henry D. Sy    时间: 2021-9-8 10:15
付谦 发表于 2021-9-7 15:55
[综合]字段中有2行:首行是句号,第二行是 妣黄氏,生于清乾隆 如:


简化你的例子传上来
作者: 付谦    时间: 2021-9-8 22:05
本帖最后由 付谦 于 2021-9-8 22:32 编辑

现传附件,请高手帮助[attach]64146[/attach][attach]64146[/attach]
作者: Henry D. Sy    时间: 2021-9-9 10:29
付谦 发表于 2021-9-8 22:05
现传附件,请高手帮助
  1. Dim rs As New ADODB.Recordset
  2.     Dim Str As String
  3.     rs.Open "表", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
  4.     Do While Not rs.EOF
  5.         Str = Mid(rs!综合, rs!本页行 * rs!每行字数 + 2, rs!转下页行 * rs!每行字数)
  6.         If InStr(Str, vbCrLf) <> 0 Then
  7.             Str = Replace(Str, vbCrLf, "")
  8.         End If
  9.         CurrentDb.Execute "INSERT INTO 表1(综合1)VALUES('" & Str & "')"
  10.         rs.MoveNext
  11.     Loop
  12.     rs.Close
  13.     Set rs = Nothing
复制代码

作者: Henry D. Sy    时间: 2021-9-9 11:36
付谦 发表于 2021-9-8 22:05
现传附件,请高手帮助

其实也没必要用代码
查询就行
  1. UPDATE 表 LEFT JOIN 表1 ON 表.序号 = 表1.序号 SET 表1.综合1 = Replace(Mid([综合],[本页行]*[每行字数]+2,[转下页行]*[每行字数]),Chr(13) & Chr(10),"");
复制代码

作者: 付谦    时间: 2021-9-9 14:20
感谢Henry d.sy 帮我解决了以前的困扰,去掉了没必要的空行和句号,报表与窗体较前更漂亮了.




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