Office中国论坛/Access中国论坛

标题: 请教怎样将英文单引号替换成双引号? [打印本页]

作者: wang1950317    时间: 2016-6-8 11:59
标题: 请教怎样将英文单引号替换成双引号?
各位老师:
     在代码中怎样把英文单引号 '  替换成双引号:""
     同样的问题,使用=Replace([Text2],"'",""")  提示公式含有无效字符串,该怎样改动?

谢谢! 请看附件[attach]59253[/attach]

[attach]59253[/attach]


作者: 盗梦    时间: 2016-6-8 12:04
试试 replace([Text2],"'","""") 或者 replace([Text2],"'",chr(34))
作者: roych    时间: 2016-6-8 12:06
少一个双引号
  1. Sub test()
  2.     Dim str As String
  3.     str = "'Roych'"

  4.     Debug.Print str
  5. '返回:'Roych'
  6.     str = Replace(str, "'", """")
  7.     Debug.Print str
  8. '返回:"Roych"
  9. End Sub
复制代码



作者: wang1950317    时间: 2016-6-8 12:17
谢谢roych老师指教,Replace函数中可以啦,代码中怎么改?再指点。谢谢!
作者: wang1950317    时间: 2016-6-8 12:20
弄不懂为什么要用四个引号才能变成一个“
作者: roych    时间: 2016-6-8 14:43
wang1950317 发表于 2016-6-8 12:20
弄不懂为什么要用四个引号才能变成一个“

双引号只能成对出现。
因此三个双引号时候,就会把前面两个双引号视为一对;最后一个双引号没有成对出现,就会出错。
--------------------
而更深层次的解释是,
双引号在Access里属于转义字符,即代表字符串的外围标签。
在一对双引号的里面如果还需要使用双引号的话,就必须使用转义字符了,这四个双引号的解释如下:
"(左侧外围标签)"(转义字符)"(实际字符)"(右侧外围标签)
作者: wang1950317    时间: 2016-6-13 12:45
谢谢roych老师指教。
作者: wang1950317    时间: 2016-6-13 12:53
本帖最后由 wang1950317 于 2016-6-13 13:17 编辑

再请教roych老师: 如果窗体文本框中有字符串: AA,BB,CC等,在一个查询中把它当作一个条件,该怎样做,正常情况下在条件栏应该为:
"AA" or "BB" or "CC"
带有空时发个附件,上面的提问是我愚蠢的以为用函数或其他方法先把文本框的字符变成"AA" or "BB" or "CC"放在一个控件里,再在查询条件中引用他:forms![窗体名]![控件名],结果没有用。

[attach]59269[/attach]

[attach]59269[/attach]






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