设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 关于查询语句的书写问题

[复制链接]
跳转到指定楼层
1#
发表于 2003-8-3 07:08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师,请帮忙看一下以下的代码:

Private Sub BID_BeforeUpdate(Cancel As Integer)
1001 Dim X
1002 If Me.NewRecord = True Then '若为新记录
1003    If IsNull(Me![BID]) = False Then '判断是否为空白
1004        X = DLookup("BID", "Books", "BID Like '" & _
             Me![BID] & "'")
1005        If IsNull(X) = False Then
1006           MsgBox "编号重复"
1007            Cancel = True
1008        End If
1009    Else
1010        MsgBox "未输入书籍编号"
1011        Cancel = True
1012    End If
1013 End If
End Sub

这段代码的用意是在输入新记录时,立即检查主索引是否重复.
请问:
(1)1004句中使用单引号是什么作用?为什么要在双引号中使用单引号?不用行吗?
(2)1005句中的连字符是什么作用?不用行吗?而且连字符之后必接空格,为什么?


另一段代码:
SELECT AllBooks.BID, AllBooks.BNAME, Customers.CusName, Orders.OrderDate, OrderDetail.Price, OrderDetail.Quantity, [QUANTITY]*[PRICE] AS 小计
FROM Customers INNER JOIN ((AllBooks INNER JOIN OrderDetail ON AllBooks.BID = OrderDetail.BID) INNER JOIN Orders ON OrderDetail.OrderID = Orders.OrderID) ON Customers.CusID = Orders.CusID
WHERE (((AllBooks.BID) Like IIf(IsNull([forms]![Book_All]![sbid]),"*",[forms]![Book_All]![sbid])));
要将它改为VBA的查询准则,就必须将其该为字符串,以下是条件WHERE的一种写法:
WHERE BID LIKE '" & ME![SBID] & "' AND SDATE <= #" & ME![INDATE] & "#"
WHERE (BID LIKE '" & ME![SBID] & "' AND SDATE <= #" & ME![INDATE] & "#))OR(BID IS NOT NULL)

请问:
(1)为什么一定要用LIKE呢?用"="行不行?如果可以的话,怎么写?
(2)语句中的单引号和双引号的用途到底是什么?可否用双引号代替单引号呢?
(3)能详细说明一下VBA中的连字符的用法吗?
(4)可否理解为:字符串要用单引号,变量名和字段名要用双引号.
"where  [bid]=  "  &  变量名  
&(连字符)的两边一定要用空格吗?
谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-8-3 22:45:00 | 只看该作者
1。单引号同双引号作用一样,只是因为嵌套的关系。‘ ’ 只能在“ ”中使用,否则会被当成注释。‘ ’中不能再次嵌套“ ”,否则嵌套关系错误, 应该用 & 连接多组“ ”。
2。& _ 是另起一行,避免行太长。
3。看看帮助,多试多想,弄清基本概念再提问。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-22 01:45 , Processed in 0.099312 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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