设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 求助:如何在vba中输入双引号"这个字符

[复制链接]
跳转到指定楼层
1#
发表于 2012-7-7 15:17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zrj898 于 2012-7-7 15:22 编辑

如下语句:
   Set rsR = New ADODB.Recordset
     sql = "SELECT (count(r.PointID)*"
     sql = sql & Trim(主窗口.TB01.Text) & "-" & 主窗口.TB01.Text & ")"
     sql = sql & "/1000 AS 公里数" & " ,count(r.PointID) as 点数 "
     sql = sql & "FROM Result AS r WHERE r.type in ('G','S') and r.OBS_Time<>' ' GROUP BY datepart("ww"," & "#" & r.OBS_Time & "#)"
那个"ww"两侧的"号被当作本条语句的界定符而不是我要用到的字符
我发现问题是我在vba中不能把双引号当字符使用 比如"datepart("ww"," & "#" & r.OBS_Time & "#)"中"ww"两侧的引号不能当作字符使用。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-7-8 04:56:57 | 只看该作者
本帖最后由 roych 于 2012-7-8 04:58 编辑

1、改用单引号:
  1. Set rsR = New ADODB.Recordset
  2.      sql = "SELECT (count(r.PointID)*"
  3.      sql = sql & Trim(主窗口.TB01.Text) & "-" & 主窗口.TB01.Text & ")"
  4.      sql = sql & "/1000 AS 公里数" & " ,count(r.PointID) as 点数 "
  5.      sql = sql & "FROM Result AS r WHERE r.type in ('G','S') and r.OBS_Time<>' ' GROUP BY datepart('ww',#" & r.OBS_Time & "#)"
复制代码
2、改成转义字符(个人不太赞成这种玩法,很容易出错)
  1. Set rsR = New ADODB.Recordset
  2.      sql = "SELECT (count(r.PointID)*"
  3.      sql = sql & Trim(主窗口.TB01.Text) & "-" & 主窗口.TB01.Text & ")"
  4.      sql = sql & "/1000 AS 公里数" & " ,count(r.PointID) as 点数 "
  5.      sql = sql & "FROM Result AS r WHERE r.type in ('G','S') and r.OBS_Time<>' ' GROUP BY datepart(""WW"",#" & r.OBS_Time & "#)"
复制代码
如果上述字符串测试出错(可能出现拼写或者落下半边字符串等情况),请参考下面的代码,适当地换过来:
  1. '单引号
  2. Sub test()
  3. t = "2012-7-8"
  4. s = "datepart('WW',#" & t & "#)"
  5. Debug.Print s
  6. End Sub
  7. '转移字符
  8. Sub test()
  9. t = "2012-7-8"
  10. s = "datepart(""WW"",#" & t & "#)"
  11. Debug.Print s
  12. End Sub
复制代码

点击这里给我发消息

3#
发表于 2012-7-8 21:42:20 | 只看该作者
本帖最后由 t小宝 于 2012-7-8 21:43 编辑

要多输一个双引号。
比如想输出一个双引号,须输入两个双引号,想输出两个双引号,须输入三个双引号
debug.Print """你好""""
会输出:"你好""
4#
 楼主| 发表于 2012-7-14 12:05:59 | 只看该作者
在语句中,当我输入3个双引号,自动订正功能会把它变成4个双引号{:soso_e100:}
5#
 楼主| 发表于 2012-7-14 12:15:20 | 只看该作者
版主的意思是先用别的字符再替换掉是吧 !这个应该可以!谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 17:33 , Processed in 0.204493 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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