Office中国论坛/Access中国论坛

标题: 筛选语句问题 [打印本页]

作者: ycxchen    时间: 2012-2-12 16:43
标题: 筛选语句问题
我想在“姓名选择窗体”中输入姓名,后打开查询窗口,并用姓名作为条件筛选记录,为此,我在“姓名选择窗体”的“确定”按钮中写入如下代码:
DoCmd.OpenForm stDocName, , , "姓名=" & Me.姓名选择.Column(0), acFormReadOnly ,但此句不能正确运行,请高手指教![attach]48310[/attach]
作者: Henry D. Sy    时间: 2012-2-12 17:28
  1. DoCmd.OpenForm stDocName, , , "姓名='" & Me.姓名选择.Column(0) & "'", acFormReadOnly
复制代码

作者: ycxchen    时间: 2012-2-12 17:54
万分感谢Henry D. Sy 版主指教!我被语句中的双引号、单引号弄得头都晕了,版主能说说"姓名='" & Me.姓名选择.Column(0) & "'"这句子中双引号、单引号的各自用法吗?盼指教!
作者: ycxchen    时间: 2012-2-12 20:27
在论坛是元老派了,但我VBA水平距元老派还差很大距离,真的要向版主等学习!
作者: roych    时间: 2012-2-12 23:50
ycxchen 发表于 2012-2-12 20:27
在论坛是元老派了,但我VBA水平距元老派还差很大距离,真的要向版主等学习!

数值型、日期型和文本型字符串的区别在于:
数值型不加
日期型前后加#
文本型前后加'或者"
单引号例子见2L的语句
双引号例子则需要使用双引号作为转义字符。例如:
str = "姓名=""" & Me.姓名选择.Column(0) & """"
不知道你看了是否更纠结了?
其实执行语句之前,可以先用Debug.Print在立即窗口上把语句写出来看看有没有问题,没有问题再执行。
此外,老汉写过一个关于这方面的例子,你可以搜索下看看。
作者: ycxchen    时间: 2012-2-13 13:59
本帖最后由 ycxchen 于 2012-2-13 14:07 编辑

谢谢指点!真的有点糊涂了,例如,"姓名='" & Me.姓名选择.Column(0) & "'",中,因是文本型的,所以,在“ & Me.姓名选择.Column(0) & ”语句中,用双引号易理解,但最外层的双引号不好理解,也就是说,几个双引号、单引号的层次结构弄不清,此句是不是套用了两个文本型的值而用两个双引号的?盼指教。





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