设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 语法那里错了?

[复制链接]
跳转到指定楼层
1#
发表于 2013-9-20 21:36:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Set rstwo = CurrentDb.OpenRecordset("SELECT* FROM 产品版本号关系表 WHERE 产品版本号关系表.产品号=[Forms]![bom]![Text57] and 产品版本号关系表.产品版本号=[Forms]![bom]![Text60] ", , dbReadOnly)


这句语法有错吗?求指导!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-9-21 15:23:46 | 只看该作者
提示什么错误?后面的!改成.  把set 分开两句话写?

点击这里给我发消息

3#
发表于 2013-9-22 10:16:40 | 只看该作者
很明显的,[Forms]![bom]![Text57]和[Forms]![bom]![Text60]要放在引号外面,用&连接,其它的我就不知道还有没有错了

点击这里给我发消息

4#
发表于 2013-9-22 10:18:04 | 只看该作者
本帖最后由 轻风 于 2013-9-22 10:20 编辑

假如产品号和产品版本号都是数值型,则:
  1. Set rstwo = CurrentDb.OpenRecordset("SELECT* FROM 产品版本号关系表 WHERE 产品版本号关系表.产品号=" & [Forms]![bom]![Text57] & " and 产品版本号关系表.产品版本号=" & [Forms]![bom]![Text60] , , dbReadOnly)
复制代码
如果是文本型,则:
  1. Set rstwo = CurrentDb.OpenRecordset("SELECT* FROM 产品版本号关系表 WHERE 产品版本号关系表.产品号='" & [Forms]![bom]![Text57] & "' and 产品版本号关系表.产品版本号='" & [Forms]![bom]![Text60] & "'", , dbReadOnly)
复制代码
5#
 楼主| 发表于 2013-9-22 11:31:11 | 只看该作者
谢谢!这个问题解决了,麻烦再帮忙看下这个

While rsthree.EOF
        While rstwo.EOF
            If rsthree("零件号") = rstwo("零件号") Then
                rstwo("零件图纸版本号") = rsthree("零件图纸版本号")
            Else
            End If
            rstwo.MoveNext
        Wend
    rsthree.MoveNext
    Wend
    rstwo.Close
    Set rstwo = Nothing
    rsthree.Close
    Set rsthree = Nothing

没有提示语法错误,但是实现不了我想要的结果,我觉得逻辑也没错误,帮忙看一下吧,非常感谢!
6#
 楼主| 发表于 2013-9-22 11:31:40 | 只看该作者
轻风 发表于 2013-9-22 10:18
假如产品号和产品版本号都是数值型,则:如果是文本型,则:

谢谢!这个问题解决了,麻烦再帮忙看下这个

While rsthree.EOF
        While rstwo.EOF
            If rsthree("零件号") = rstwo("零件号") Then
                rstwo("零件图纸版本号") = rsthree("零件图纸版本号")
            Else
            End If
            rstwo.MoveNext
        Wend
    rsthree.MoveNext
    Wend
    rstwo.Close
    Set rstwo = Nothing
    rsthree.Close
    Set rsthree = Nothing

没有提示语法错误,但是实现不了我想要的结果,我觉得逻辑也没错误,帮忙看一下吧,非常感谢!

点击这里给我发消息

7#
发表于 2013-9-22 15:43:59 | 只看该作者
本帖最后由 轻风 于 2013-9-22 16:01 编辑

是不是要先.MoveFirst?我不太懂
还是要改成这样:
While rsthree.EOF = False
        While rstwo.EOF = False......

8#
发表于 2013-9-23 09:11:10 | 只看该作者
应该是
   While not rstwo.EOF
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 19:20 , Processed in 0.103830 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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