使用openform操作,关于where的问题

jonerthan 2008-05-01 03:28:41
我是初学.在access学生模板中,
在学生信息列表窗体中使用宏OpenForm
参数是 学生详细信息, 窗体, , ="[ID]=" & [ID], , 对话框

我对
="[ID]=" & [ID]不明白,看了帮助文档说where条件格式是
[fieldname] = Forms![formname]![controlname on other form]
模板里为什么用引号和等号?不直接用[ID]= [ID]?
...全文
286 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
LULU_YE 2011-11-11
  • 打赏
  • 举报
回复
收藏了,谢谢
jonerthan 2008-05-01
  • 打赏
  • 举报
回复
太感谢,让我明白了不少.
jonerthan 2008-05-01
  • 打赏
  • 举报
回复
如果where后面跟ID=3和="ID=3"是不是一样的效果.?
jonerthan 2008-05-01
  • 打赏
  • 举报
回复
非常感谢.你的意思我明白了.但是where条件后面确实是="[ID]=" & [ID],就是说等于这个字符串表达式吗?
liuyann 2008-05-01
  • 打赏
  • 举报
回复

第一个ID是子窗体的,第二个ID是原窗体的

第二个ID是原窗体,可以认为正确
第一个ID是子窗体,第一个"sssss"只是个字符串,

"[ID]=" & [ID] 只是生成一个新的字符串,做为参数传给openForm方法
==== ====
liuyann 2008-05-01
  • 打赏
  • 举报
回复

以下摘自 Microsoft Access Help

& 运算符


用来强制两个表达式作字符串连接。

语法

result = expression1 & expression2

& 运算符的语法具有以下几个部分:

部分 描述
result 必需的;任何 String或 Variant 变量。
expression1 必需的;任何表达式。
expression2 必需的;任何表达式。



说明

如果 expression 不是字符串,则将其转换成 String 变体。如果两个表达式都是字符串表达式,则 result 的数据类型是 String;否则 result 是 String 变体。如果两个表达式都是 Null,则 result 也是 Null。但是,只要有一个 expression 是 Null,那么在与其它表达式连接时,都将其作为长度为零的字符串 ("") 处理。任何 Empty 类型表达式也作为长度为零的字符串处理。

==== ====
jonerthan 2008-05-01
  • 打赏
  • 举报
回复
我是初学,感觉加了引号的ID应该是当作文本之类的来处理,如果是跟&后面的组成语句,那第一个ID是子窗体的,第二个ID是原窗体的,应该这样理解吗
jonerthan 2008-05-01
  • 打赏
  • 举报
回复
我看操作参数里面是有=号的,我试着去掉前面的=,运行后打开的子窗体都是第一条记录的窗体.
liuyann 2008-05-01
  • 打赏
  • 举报
回复

有兴趣的话,可以加入这个新群

=========================================================
可加入QQ群 46057031 晚19:00 - 24:00在线
=========================================================

==== ====
liuyann 2008-05-01
  • 打赏
  • 举报
回复

由于您是新用户,所以特此介绍一下结贴的方法


如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。

结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。
或参考:
http://www.csdn.net/help/over.asp
http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
=============================================================================
问题解决,请及时结贴。
正确结贴方法:
管理帖子-->给分-->输入密码-->结贴


==== ====
liuyann 2008-05-01
  • 打赏
  • 举报
回复

"[ID]=" & [ID]

第二个 [ID] 是FORM上的一个控件的值,比如FORM.ID此时=23


"[ID]=" & [ID]
等于 "[ID]=23"

同在打开的新FORM中会在数据集上使用" where [ID]=23 "这个条件。


==== ====
liuyann 2008-05-01
  • 打赏
  • 举报
回复

="[ID]=" & [ID]

应该不会有这个等号。
==== ====
liuyann 2008-05-01
  • 打赏
  • 举报
回复

SQL语句你是否了解,
如果了解的话, 其实你在传的这个参数会作为
where 后的一部分
==== ====
jonerthan 2008-05-01
  • 打赏
  • 举报
回复
查了很多网页,还是不解.请大家帮忙.

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧